Essayez, attrape, lancer et enfin les déclarations en Java | Expliqué

Essayez, attrape, lancer et enfin les déclarations en Java | Expliqué
Dans tout langage de programmation, y compris Java, il est toujours possible qu'une erreur se produise au moment de l'exécution du code, par conséquent, le programme cesse de fonctionner et lance une erreur. En termes par programme, ce phénomène est appelé exception. Java fournit la solution qui peut gérer ces exceptions / erreurs d'exécution connues sous le nom de gestion des exceptions.

Dans Java, plusieurs façons peuvent être adoptées pour gérer les exceptions, dans cet article, nous discuterons des façons suivantes de gérer les exceptions:

  • Gestion des exceptions à l'aide de déclarations de capture d'essai
  • Gestion des exceptions en utilisant la déclaration enfin
  • Gestion des exceptions en utilisant le mot-clé

Toutes les approches susmentionnées seront discutées dans cet article avec l'aide de quelques exemples. Cependant, avant de se diriger d'abord vers ces approches, nous devons d'abord comprendre pourquoi il est nécessaire de gérer les exceptions en Java.

Pourquoi la gestion des exceptions à Java

Dans le cas où nous sommes confrontés à une erreur, le programme arrête normalement son exécution, mais la gestion des exceptions garantit que le flux normal du programme ne devrait pas se casser.

Prenons un scénario pour la profonde compréhension de la gestion des exceptions en Java:

Supposons que nous ayons cinq déclarations dans un programme et que l'exception se produit à la troisième déclaration, puis un programme normal arrête son exécution à ce stade, et les deux énoncés restants ne s'exécuteraient pas. Cependant, si nous appliquons une manipulation des exceptions, le flux normal ne serait pas affecté, je ne serais pas affecté.e. L'exception sera affichée pour l'instruction affectée uniquement et toutes les autres instructions exécuteront avec succès.

Exemple

Voyons l'exemple ci-dessous qui n'a pas pris en compte le mécanisme de gestion des exceptions. Maintenant, ce qui va se passer si une erreur se produit?

publicClassexceptionHandlingExample
publicStaticVoidMain (String [] args)
int [] arr = 5, 10, 0, 25, 5;
pour (inti = 0; i
int num = 50;
Système.dehors.println ("Résultat:" + num / arr [i]);


Dans ce programme, nous avons un tableau d'entiers, dans la boucle, nous spécifions une condition ARR.longueur qui représente itérate jusqu'à la dernière entrée du tableau. Et dans le corps de la boucle, nous avons un nombre «50» et il sera divisé par chaque valeur du tableau:

À partir de la sortie, il est clair que le programme se termine lorsqu'une erreur se produit et qu'il n'imprime pas les valeurs restantes du tableau.

Par conséquent, pour gérer de tels scénarios, les programmeurs Java utilisent le concept de gestion des exceptions afin que si une erreur se produit, au lieu de mettre fin à l'ensemble du programme, il devrait lancer l'exception pour la déclaration affectée uniquement.

Gestion des exceptions en utilisant un coup d'essai

L'une des façons les plus simples et les plus simples de gérer les exceptions est coup de passe déclarations qui apparaissent en paire. Le code spécifié dans le bloc d'essai sera testé pour les exceptions / erreurs et si une exception se produit, elle sera prise dans le bloc de capture.

La syntaxe de base de l'instruction TRY-Catch ressemblera à ceci:

essayer

// code à tester pour exception

attraper

// code pour gérer les exceptions

Le bloc d'essai sera toujours suivi par au moins un bloc de capture.

Exemple

Étendons un peu plus l'exemple précédent et ajoutons les instructions de couple pour faire face aux exceptions.

publicClassexceptionHandlingExample
publicStaticVoidMain (String [] args)
int num = 50;
int [] arr = 5, 10, 0, 25, 5;
pour (inti = 0; iessayer
Système.dehors.println ("Résultat:" + num / arr [i]);
catch (exception ex)
Système.dehors.println ("Une exception se produit");



Le code complet le long de sa sortie respective est illustré dans l'extrait suivant:

Cette fois où une erreur se produit, à ce stade, le programme affiche un message "Une exception se produit" Et après, la boucle itère à travers les entrées restantes du tableau.

Gestion des exceptions en utilisant la déclaration enfin

En java, le enfin Le mot-clé peut être utilisé avec un coup d'essai et il exécutera toujours, que les exceptions soient manipulées ou non.

Note: Écrivez toujours les instructions / code importants (que vous souhaitez exécuter dans n'importe quelle situation) dans le enfin bloc.

Exemple

L'extrait de code ci-dessous montre comment enfin Le bloc fonctionne à Java:

publicClassexceptionHandlingExample
publicStaticVoidMain (String [] args)
essayer
int number1 = 12;
int number2 = 0;
Système.dehors.println (numéro1 / numéro2);

catch (arrayIndexoutofBoundSExceptionExcep)
Système.dehors.println ("Exception s'est produite");

enfin

Système.dehors.println ("enfin block");


Le code complet et sa sortie respective sont indiqués dans la capture d'écran suivante:

Comme dans le code ci-dessus, nous utilisons l'exception ArrayoutOfBound, il n'est donc pas en mesure de gérer une exception arithmétique. Cependant, à partir de l'extrait ci-dessus, il est clair que le enfin Block s'exécute quelles que soient les conséquences (je.e. exception manipulée ou non).

Gestion des exceptions en utilisant le mot-clé

Le mot-clé de lancer peut être utilisé pour lancer une exception explicitement (je.e. il nous permet de créer une exception personnalisée). Il peut être utilisé avec n'importe quel type d'exception tel que ArrayIndexoutofBoundSexception, Arithmeticexception, etc.

Exemple

Dans cet exemple, nous prendrons une valeur au moment de l'appel de la fonction, si la valeur d'entrée est égale à 0, alors nous lancerons un personnalisé exception arithmétique.

publicClassThrowExample
publicVoidDivide (int entrée)
int numéro = 100;
if (input == 0)
ThrownewaRIHMeticexception ("\ n vous entrez 0, ne peut pas effectuer la division");
autre
Système.dehors.println ("Résultat:" + numéro / entrée);


publicStaticVoidMain (String [] args)
ThrowExample obj = newthrowExample ();
obj.diviser (0);

L'extrait de code complet avec la sortie est fourni dans l'extrait suivant:

L'extrait de code ci-dessus montre que le passage "0" car l'entrée entraîne des exceptions personnalisées qui authentifient le fonctionnement du lancer mot-clé.

Conclusion

Java fournit plusieurs déclarations pour gérer les exceptions / erreurs d'exécution telles que Try, Catch, enfin, lancer. coup de passe Les déclarations apparaissent en paire, le bloc d'essai teste le code pour les exceptions / erreurs Si une exception se produit, alors elle sera prise dans le bloc de capture. Le enfin Le mot-clé peut être utilisé avec Try-Catch et il exécutera toujours, que les exceptions soient gérées ou non pendant que le lancer Le mot-clé est utilisé pour lancer une exception explicitement. Cet article fournit une compréhension détaillée de la façon de gérer les exceptions en Java.