Maison  >  Article  >  Java  >  Exemple détaillé de gestion des exceptions en Java

Exemple détaillé de gestion des exceptions en Java

黄舟
黄舟original
2017-08-10 13:38:471711parcourir

Cet article présente principalement des informations pertinentes sur les méthodes de gestion des exceptions de lancement de Java. Le mot-clé throws est généralement utilisé lors de la déclaration de méthodes pour spécifier les exceptions qui peuvent être levées. Voici comment l'utiliser, amis qui en ont besoin.

Méthode de gestion des exceptions Java

Afin d'empêcher l'appelant de ne pas savoir qu'il existe une exception, l'exception est levée, alors qui l'utilise où ? traiter avec cela. Est-ce exact ?

Oui.

1. Le mot-clé throws est généralement utilisé lors de la déclaration d'une méthode pour spécifier les exceptions qui peuvent être levées. Plusieurs exceptions peuvent être séparées par des virgules. Lorsque cette méthode est appelée dans la fonction principale, si une exception se produit, l'exception sera levée vers l'objet d'exception spécifié.

Comme le montre l'exemple suivant :


public class Shoot { 创建类
static void pop() throws NegativeArraySizeException {
//定义方法并抛出NegativeArraySizeException异常
int [] arr = new int[-3];//创建数组
}
public static void main(String[] args) {//主方法
try { 
pop(); //调用pop()方法
} catch (NegativeArraySizeException e) {
System.out.println("pop()方法抛出的异常");//输出异常信息
}
}
}

2 Le mot-clé throw est généralement utilisé dans le corps de la méthode et lève une exception. objet. Le programme s'arrête immédiatement lorsque l'instruction throw est exécutée et les instructions qui la suivent ne sont pas exécutées. Après avoir lancé une exception via throw, si vous souhaitez intercepter et gérer l'exception dans le code de niveau supérieur, vous devez utiliser le mot-clé throws dans la méthode qui lève l'exception pour indiquer l'exception à lever dans la déclaration de méthode if ; vous voulez intercepter le lancer. Si une exception se produit, vous devez utiliser l'instruction try-catch.

Par exemple :


class MyException extends Exception { //创建自定义异常类
String message; //定义String类型变量
public MyException(String ErrorMessagr) { //父类方法
message = ErrorMessagr;
}
public String getMessage(){ //覆盖getMessage()方法
return message;
}
}
public class Captor { //创建类
static int quotient(int x,int y) throws MyException{//定义方法抛出异常
if(y < 0){ //判断参数是否小于0
throw new MyException("除数不能是负数");//异常信息
}
return x/y;//返回值
}
public static void main(String args[]){ //主方法
try{ //try语句包含可能发生异常的语句
int result = quotient(3,-1);//调用方法quotient()
}catch (MyException e) { //处理自定义异常
System.out.println(e.getMessage()); //输出异常信息
}
catch (ArithmeticException e) {
//处理ArithmeticException异常
System.out.println("除数不能为0");//输出提示信息
}
catch (Exception e) { //处理其他异常
System.out.println("程序发生了其他的异常");
//输出提示信息
}
}
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn