aperçu
Les exceptions Java se divisent en deux catégories principales: exceptions cochées et exceptions non cochées. Dans cet article, nous allons fournir quelques exemples de code sur la façon de les utiliser.
Exceptions vérifiées
en général, les exceptions vérifiées représentent des erreurs hors du contrôle du programme. Par exemple, le constructeur de FileInputStream lance FileNotFoundException si le fichier d’entrée n’existe pas.
Java vérifie les exceptions vérifiées au moment de la compilation.,
Par conséquent, nous devrions utiliser le mot clé throws pour déclarer une exception vérifiée:
Nous pouvons également utiliser un bloc try-catch pour gérer une exception vérifiée:
certaines exceptions vérifiées courantes en Java sont IOException, SQLException et ParseException.
la classe Exception est la superclasse des exceptions vérifiées. Par conséquent, nous pouvons créer une exception vérifiée personnalisée en étendant Exception:
public class IncorrectFileNameException extends Exception { public IncorrectFileNameException(String errorMessage) { super(errorMessage); }}
Exceptions non cochées
Si un programme lève une exception non cochée, elle reflète une erreur dans la logique du programme., Par exemple, si nous divisons un nombre par 0, Java lancera ArithmeticException:
private static void divideByZero() { int numerator = 1; int denominator = 0; int result = numerator / denominator;}
Java ne vérifie pas les exceptions non cochées au moment de la compilation. De plus, nous n’avons pas besoin de déclarer des exceptions non cochées dans une méthode avec le mot clé throws. Et bien que le code ci-dessus n’ait aucune erreur pendant la compilation, il lancera ArithmeticException à l’exécution.
certaines exceptions non contrôlées courantes en Java sont NullPointerException, ArrayIndexOutOfBoundsException et IllegalArgumentException.,
la classe RuntimeException est la superclasse de toutes les exceptions non cochées. Par conséquent, nous pouvons créer une exception non cochée personnalisée en étendant RuntimeException:
public class NullOrEmptyException extends RuntimeException { public NullOrEmptyException(String errorMessage) { super(errorMessage); }}
quand utiliser des Exceptions cochées et des Exceptions non cochées
c’est une bonne pratique d’utiliser des exceptions en Java afin que nous puissions séparer le code de gestion des erreurs du code régulier. Cependant, nous devons décider quel type d’exception lancer., La Documentation Oracle Java fournit des conseils sur le moment d’utiliser les exceptions vérifiées et les exceptions non vérifiées:
« Si on peut raisonnablement s’attendre à ce qu’un client récupère d’une exception, faites-en une exception vérifiée. Si un client ne peut rien faire pour récupérer de l’exception, faites-en une exception non cochée.”
Par exemple, avant d’ouvrir un fichier, on peut d’abord valider le nom du fichier d’entrée. Si le nom du fichier d’entrée utilisateur n’est pas valide, nous pouvons lancer une exception vérifiée personnalisée:
if (!isCorrectFileName(fileName)) { throw new IncorrectFileNameException("Incorrect filename : " + fileName );}
de cette façon, nous pouvons récupérer le système en acceptant un autre nom de fichier d’entrée utilisateur., Toutefois, si le nom de fichier d’entrée est un pointeur null ou une chaîne vide, cela signifie que nous avons quelques erreurs dans le code. Dans ce cas, nous devrions lancer une exception non cochée:
if (fileName == null || fileName.isEmpty()) { throw new NullOrEmptyException("The filename is null or empty.");}
Conclusion
dans cet article, nous avons discuté de la différence entre les exceptions cochées et non cochées. Nous avons également fourni quelques exemples de code pour montrer quand utiliser des exceptions cochées ou non cochées.
Comme toujours, tout code dans cet article peut être trouvé sur GitHub.,
Get a commencé avec le Printemps 5 et le Printemps de Démarrage 2, par l’intermédiaire de l’Apprendre Printemps cours:
>> découvrez LE PARCOURS
Laisser un commentaire