Java - 14.1 Gérer les exceptions en Java
Une exception est une erreur qui survient pendant l'exécution d'un programme et qui l'arrête le plus souvent. Un exemple typique est une connexion à une base de données avec un mauvais mot de passe. Java propose un mécanisme de gestion des exceptions, qui sépare le traitement normal du traitement des erreurs. Cette leçon le montre sur une division par zéro.
Observer une exception non gérée
La classe Exception de Java répertorie différents cas d'erreur. Dans l'exemple, une division par zéro lève une exception de type ArithmeticException.
Le programme s'arrête à cet endroit, et le terminal affiche le nom de l'exception. Le message affiché après la division n'apparaît donc jamais.
Capturer l'exception avec try et catch
Le code susceptible de lever l'exception se place dans un bloc try. Le bloc catch suit immédiatement et précise le type d'exception à capturer, ici ArithmeticException, avec un nom de variable pour l'objet d'exception.
Dans le bloc catch, la méthode getMessage récupère le message de l'erreur, qui peut ensuite être affiché. Une fois l'exception capturée, le programme poursuit son exécution après le bloc.
try {
int resultat = <nombre> / 0;
System.out.println(resultat);
} catch (ArithmeticException e) {
System.out.println("Erreur : " + e.getMessage());
}
Le rôle du paramètre du catch
Le paramètre du bloc catch indique à Java quel type d'exception doit être capturé. Seules les exceptions de ce type sont traitées par ce bloc.
Séparer le code normal du code de gestion des erreurs rend le programme plus lisible.
En résumé
Une exception est une erreur qui interrompt l'exécution d'un programme. Le bloc try contient le code à risque, et le bloc catch traite le type d'exception choisi. La méthode getMessage permet d'afficher le message de l'erreur.
Points clés
- Une exception est une erreur qui survient à l'exécution et arrête le programme.
- La classe Exception de Java répertorie différents cas d'erreur.
- Le bloc try isole le code susceptible de lever une exception.
- Le bloc catch précise le type d'exception à capturer.
- La méthode getMessage donne le message de l'erreur.
Questions fréquentes
Pourquoi le programme s'arrête-t-il sur une exception ?
Quand une exception est levée et non capturée, l'exécution s'interrompt à cet endroit.
Que se passe-t-il si le type indiqué au catch ne correspond pas ?
Le bloc catch ne traite que le type d'exception indiqué entre parenthèses.
Le programme continue-t-il après un catch ?
Oui, si l'exception est capturée, le programme poursuit son exécution après le bloc catch.