Nous pouvons également utiliser l'instruction try...catch...finally pour gérer les exceptions. Lorsque le programme s'exécute avec le code d'erreur, le système lancera un objet d'exception et le programme entrera dans le bloc catch pour correspondre un par un. Si la correspondance réussit, le programme exécutera le code catch. Si la correspondance échoue, le programme est renvoyé à la machine virtuelle Java pour traitement.
Le format de l'instruction try...catch...finally est le suivant : try{//Contient des instructions pouvant provoquer des exceptions}catch (objet d'exception du nom de la classe d'exception){//Code de gestion des exceptions}finally{//Code qui doit être exécuté}
Choses à noter :
1) Essayez de garder le code du bloc try aussi petit que possible.
2) Une fois qu'une exception se produit dans le code du bloc try, quel que soit le nombre de lignes de code qui suivent le bloc try, elle ne sera pas exécutée.
3) Le paramètre d'exception correspondant dans le bloc catch satisfait également à l'exception polymorphe e = new ArithmeticException(/by zero);
4) Il ne peut y avoir qu'un seul bloc try , et il peut y avoir plusieurs blocs catch . Try peut être combiné avec catch, try peut être combiné avec finalement et try peut être combiné avec catch et enfin.
5) Généralement, Exception est utilisé comme type de paramètre de catch à la fin du format de gestion des exceptions.
6) L'exception en tant que paramètre d'exception de classe parent ne peut apparaître qu'à la fin de l'exception, d'abord la sous-classe puis la classe parent.
7) Le bloc de code finalement modifié sera définitivement exécuté à moins que le programme ne se termine anormalement ou que la méthode de sortie du système ne soit appelée avant que l'exécution n'atteigne la fin.
8) Dans l'instruction try, lorsque l'instruction return est exécutée, le résultat à renvoyer est prêt. À ce moment, le programme passe à l'exécution finale. Avant le transfert, try stocke d'abord le résultat à renvoyer dans une variable locale différente de x. Après l'exécution de final, le résultat renvoyé est supprimé. Par conséquent, même si la variable x est modifiée en final, cela n'affectera pas le retour. Résultat, la pile doit être utilisée pour enregistrer la valeur de retour.