Menu
Coddy logo textTech

Lever des exceptions

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 42 sur 59.

Le mot-clé throw en Java vous permet de lancer explicitement une exception. Voici la structure de base :

throw new ExceptionType("Error message");

Les composants sont :

  • throw : Mot-clé pour lancer une exception
  • new ExceptionType : Crée une nouvelle exception (comme IllegalArgumentException)
  • "Error message" : Décrit ce qui s'est mal passé

Voyons cela en action :

int age = -5;
if (age < 0) {
    throw new IllegalArgumentException("Age cannot be negative");
}

Après l'exécution du code ci-dessus, le programme lève :

IllegalArgumentException: Age cannot be negative

challenge icon

Défi

Facile

Créez une méthode nommée validateAge qui prend deux arguments :

  1. Un entier (age) à valider
  2. Un booléen (strict) qui détermine les règles de validation

La méthode doit lever des exceptions selon ces règles :

  • Si age est négatif : lever une IllegalArgumentException avec le message "Age cannot be negative"
  • Si age est supérieur à 150 : lever une IllegalArgumentException avec le message "Age cannot be greater than 150"
  • Si strict est true et age est 0 : lever une IllegalArgumentException avec le message "Age cannot be zero in strict mode"
  • Si aucune exception n'est levée : retourner age sous forme de chaîne

Aide-mémoire

Le throw permet de lever explicitement une exception :

throw new ExceptionType("Error message");

Composants :

  • throw : Mot-clé pour lever une exception
  • new ExceptionType : Crée une nouvelle exception (comme IllegalArgumentException)
  • "Error message" : Décrit ce qui s'est mal passé

Exemple :

int age = -5;
if (age < 0) {
    throw new IllegalArgumentException("Age cannot be negative");
}

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static String validateAge(int age, boolean strict) {
        // Écrivez votre code ici
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = Integer.parseInt(scanner.nextLine());
        boolean strict = Boolean.parseBoolean(scanner.nextLine());
        
        try {
            System.out.println(validateAge(age, strict));
        } catch (IllegalArgumentException e) {
            System.out.println(e.getMessage());
        }
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux