Environnement: Windows10, Eclipse, java8
Décrit la gestion des exceptions en utilisant try catch finally en java.
try{
En traitement
}catch(Argument de type d'exception){
Traitement lorsqu'une exception se produit
}finally{
Dernière action à exécuter(Avec ou sans exception)
}
public static void main(String[] args) {
double a = 99999;
//----------Cas où la gestion des exceptions se produit----------
System.out.println("-----Il y a une exception-----");
try {
a = 30/0;
}catch(ArithmeticException e) {
System.out.println("Traitement des exceptions: 0 ne casse pas");
System.out.println(e);
}finally {
System.out.println("finally "+ "a="+a);
}
//----------Cas où la gestion des exceptions ne se produit pas----------
System.out.println("-----Ordinaire-----");
try {
a = 30/3;
}catch(ArithmeticException e) {
System.out.println("Traitement des exceptions: 0 ne casse pas");
System.out.println(e);
}finally {
System.out.println("finally "+ "a="+a);
}
}
-----Il y a une exception-----
Traitement des exceptions: 0 ne casse pas
java.lang.ArithmeticException: / by zero
finally a=99999.0
-----Ordinaire-----
finally a=10.0
Dans le programme ci-dessus, sur la ligne a = 30/0; Une exception (ArithmeticException) s'est produite car nous divisons par zéro (il n'y a pas de solution). Par conséquent, le traitement suivant est exécuté.
}catch(ArithmeticException e) {
System.out.println("Traitement des exceptions: 0 ne casse pas");
}
Par conséquent, comme résultat de l'exécution, "Traitement d'exception: 0 ne s'arrête pas" s'affiche.
Comment écrire le contenu de catch?
}catch(ArithmeticException e){
Dans l'exemple ci-dessus, ArithmeticException est une exception qui est levée lorsqu'elle est divisée par zéro.
D'autres exceptions peuvent être écrites sous la forme suivante, je vais donc les expliquer.
}catch(Argument de type d'exception){
Écrivez le type qui sera levé lorsqu'une exception se produit.
Vérifiez le traitement d'exception correspondant au traitement écrit en try dans la référence et utilisez-le. Pour java11: https://docs.oracle.com/javase/jp/11/docs/api/index-files/index-1.html
De plus, si vous souhaitez gérer les exceptions dans les opérations d'entrée / sortie de fichier, etc. Lors de l'utilisation d'une exception appelée IOException
import java.io.IOException;
Vous devrez peut-être également importer le package avec.
Concernant l'exception appelée ArithmeticException cette fois,
import java.lang.ArithmeticException
Il semble qu'il soit nécessaire d'écrire et d'importer. Cependant, java.lang est implicitement importé dans le compilateur et n'a pas besoin d'être écrit. D'ailleurs, c'est pourquoi System.out.println peut être utilisé sans importation.
Vous pouvez le nommer librement. "E" est souvent utilisé.
Dans cet exemple Parce qu'il décrit "System.out.println (e);" "Java.lang.ArithmeticException: / by zero" dans le résultat de l'exécution S'affiche et il peut être confirmé qu'une exception a été reçue.
Recommended Posts