Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Structure Try-Catch | Exceptions
Bibliothèque Java JUnit. Types de Tests
course content

Contenu du cours

Bibliothèque Java JUnit. Types de Tests

Bibliothèque Java JUnit. Types de Tests

1. Tests en Développement
2. Tests Unitaires
3. Exceptions

book
Structure Try-Catch

Comment gérer les exceptions

Du chapitre précédent, vous avez peut-être compris que les exceptions arrêtent complètement l'exécution du programme. Un tel résultat n'est pas souhaitable pour nous car nous avons besoin que le programme continue de fonctionner sans planter.

Supprimer simplement les exceptions n'est pas une option, car dans ce cas, le programme fonctionnerait incorrectement. Par conséquent, nous devons apprendre à gérer les erreurs en utilisant la structure try-catch.

Jetons un coup d'œil à la syntaxe d'une telle structure et comprenons comment elle capture les erreurs :

  • Bloc try : Ce bloc contient le code qui pourrait générer une exception. Pendant l'exécution, si une instruction à l'intérieur du bloc try lance une exception, le reste du code du bloc est ignoré, et le contrôle passe au(x) bloc(s) catch correspondant(s) pour gérer cette exception ;

  • Bloc catch : Ce bloc est utilisé pour gérer l'exception. Il doit suivre le bloc try. Si le type d'exception lancé correspond au type déclaré dans le bloc catch, le code à l'intérieur de ce bloc est exécuté. Il peut y avoir plusieurs blocs catch associés à un seul bloc try, chacun capturant et gérant différents types d'exceptions.

En termes plus simples, nous tentons d'exécuter le code, en nous préparant à attraper une exception. Si nous attrapons une exception, l'exécution du code ne s'arrête pas mais continue avec l'opération spécifiée dans le bloc catch. S'il n'y a pas d'exception, l'opération est exécutée avec succès sans entrer dans le bloc catch.

Gestion de ArithmeticException

Dans le chapitre précédent, nous avons implémenté une méthode de division qui lance une exception arithmétique en cas de division par zéro. Voici à quoi ressemble cette méthode :

Maintenant, gérons cette exception lors de l'appel de la méthode en utilisant une structure try-catch :

java

main

copy
1234567891011121314151617181920
package com.example; public class Main { public static double divide(int numerator, int denominator) throws ArithmeticException { if (denominator == 0) { throw new ArithmeticException("Division by zero is not allowed."); } return (double) numerator / denominator; } public static void main(String[] args) { try { double result = divide(10, 0); System.out.println(result); } catch (ArithmeticException e) { System.out.println("You can't divide by zero!"); } System.out.println("The program is continues its execution"); } }

Comme vous pouvez le voir, nous tentons de effectuer une division par zéro, mais nous le faisons dans le bloc try. Dans le bloc catch, nous attrapons l'ArithmeticException et lui donnons un alias "e" afin que nous puissions utiliser cet objet à l'avenir (rappelez-vous, les exceptions sont des objets, n'est-ce pas ?).

De cette façon, l'exception n'interrompt pas l'exécution du programme puisque nous l'avons gérée. Maintenant, en cas de lancement d'une exception, le programme notifie l'utilisateur avec une sortie console et continue son exécution.

1. Quel est le but du bloc try dans une structure try-catch ?

2. Que se passe-t-il si une exception est lancée à l'intérieur d'un bloc try ?

3. Que fait le bloc catch dans une structure try-catch ?

4. Quel est le résultat de la gestion d'une exception avec une structure try-catch ?

Quel est le but du bloc `try` dans une structure try-catch ?

Quel est le but du bloc try dans une structure try-catch ?

Sélectionnez la réponse correcte

Que se passe-t-il si une exception est lancée à l'intérieur d'un bloc `try` ?

Que se passe-t-il si une exception est lancée à l'intérieur d'un bloc try ?

Sélectionnez la réponse correcte

Que fait le bloc `catch` dans une structure try-catch ?

Que fait le bloc catch dans une structure try-catch ?

Sélectionnez la réponse correcte

Quel est le résultat de la gestion d'une exception avec une structure `try-catch` ?

Quel est le résultat de la gestion d'une exception avec une structure try-catch ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2
We're sorry to hear that something went wrong. What happened?
some-alt