Passer au contenu principal
eLearner.app
Module 5 · Leçon 1 sur 29/14 dans le cours~12 min
Leçons du module (1/2)

Les blocs try-catch

En Java, les erreurs qui se produisent pendant l'exécution d'un programme sont gérées par les Exceptions. La gestion des exceptions permet d'intercepter les situations anormales et d'éviter que le programme ne se termine brutalement.

La structure try-catch

Pour gérer une exception potentielle, nous raccompagnons le code à risque à l'intérieur d'un bloc try. Si une erreur se produit à l'intérieur du try, la JVM interrompt l'exécution du bloc et cherche un bloc catch correspondant pour gérer l'exception.

Code
try {
    int result = 10 / 0; // Genera un'eccezione ArithmeticException
    System.out.println("Questo non verrà stampato");
} catch (ArithmeticException e) {
    System.out.println("Si è verificato un errore aritmetico: " + e.getMessage());
}

Le bloc finally

Le bloc finally est optionnel et est toujours exécuté, que l'exception ait été lancée ou non. Il est idéal pour libérer des ressources ou effectuer des opérations de nettoyage.

Code
try {
    System.out.println("Esecuzione logica");
} catch (Exception e) {
    System.out.println("Errore");
} finally {
    System.out.println("Questo blocco viene sempre eseguito");
}

Lancer des Exceptions : throw

Nous pouvons lancer intentionnellement une exception en utilisant le mot-clé throw, suivi d'une nouvelle instance d'une classe d'exception.

Code
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Il punteggio deve essere compreso tra 0 e 100");
    }
}

À toi de jouer

Exercice#java.m5.l1.e1
Tentatives : 0Chargement…

Complétez le code en insérant un bloc try-catch pour gérer une possible ArithmeticException découlant de la division a / b. En cas d'erreur, affichez 'Error: division by zero'.

Chargement de l'éditeur…
Afficher l'indice

Insérez l'opération de division à l'intérieur du bloc `try` et capturez l' `ArithmeticException` en affichant le message demandé.

Solution disponible après 3 tentatives

Exercice#java.m5.l1.e2
Tentatives : 0Chargement…

Complétez le code en implémentant un bloc try-catch-finally. Dans le bloc try, tentez de convertir la chaîne str en entier à l'aide de Integer.parseInt. Dans le catch, capturez NumberFormatException et affichez 'Invalid number'. Dans le bloc finally, affichez 'Finally'.

Chargement de l'éditeur…
Afficher l'indice

Écrivez la structure `try { ... } catch (NumberFormatException e) { ... } finally { ... }`.

Solution disponible après 3 tentatives

Exercice#java.m5.l1.e3
Tentatives : 0Chargement…

Complétez la méthode checkAge en lançant une exception IllegalArgumentException avec le message 'Underage' si l'âge fourni est inférieur à 18 ans.

Chargement de l'éditeur…
Afficher l'indice

Utilisez `if (age < 18)` et le mot-clé `throw new` pour instancier et lancer l'exception.

Solution disponible après 3 tentatives