Leçon 33 : Gestion des erreurs : Introduction aux Exceptions
Une exception est un événement qui se produit pendant l'exécution d'un programme et qui perturbe le flux normal des instructions. Java fournit un mécanisme robuste pour gérer ces erreurs.
La hiérarchie des Exceptions
Toutes les exceptions et erreurs sont des sous-classes de la classe Throwable.
- Error : Représente des problèmes graves (ex:
OutOfMemoryError,StackOverflowError). Ceux-ci sont généralement irrécupérables et ne devraient pas être interceptés par l'application. - Exception : Représente des conditions qu'une application pourrait vouloir intercepter et gérer.
Exceptions Checked vs Unchecked
Les exceptions Java sont classées en deux types, selon que le compilateur vous force ou non à les gérer.
1. Checked Exceptions (Exceptions vérifiées)
- Le compilateur vous oblige soit à les gérer (en utilisant
try-catch), soit à les déclarer (en utilisantthrows). - Elles représentent généralement des problèmes externes qui sont récupérables (ex: fichier non trouvé, problèmes de réseau).
- Exemples :
IOException,SQLException,FileNotFoundException.
2. Unchecked Exceptions (Exceptions non vérifiées / Runtime Exceptions)
- Le compilateur ne vous force pas à les gérer.
- Elles résultent généralement d'erreurs de programmation ou de failles logiques (ex: tentative d'accès à un index invalide).
- Ce sont des sous-classes de
RuntimeException. - Exemples :
NullPointerException,ArrayIndexOutOfBoundsException,ArithmeticException.
java // Exemple d'une exception unchecked (erreur de programmation) int result = 10 / 0; // ArithmeticException
// Exemple d'une exception checked (nécessite une gestion/déclaration) // Thread.sleep(1000); // Erreur de compilation sans try/catch ou throws
Objectif de la gestion des exceptions : Gérer gracieusement les situations inattendues, éviter les plantages de l'application et fournir un retour d'information significatif.