Menu
Coddy logo textTech

Exceptions personnalisées

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

Vous pouvez créer votre propre classe d'exception en étendant la classe Exception. Ceci est utile lorsque vous devez gérer des types spécifiques d'erreurs dans votre application.

Voici comment créer une exception personnalisée :

public class AgeException extends Exception {
   public AgeException(String message) {
       super(message);
   }
}

Et voici comment l'utiliser :

if (age < 0) {
   throw new AgeException("Invalid age: " + age);
}

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

AgeException: Invalid age: -5

challenge icon

Défi

Facile

Créez une classe d'exception personnalisée nommée EmailException et une méthode nommée validateEmail qui prend un argument :

  1. Une String (email) à valider

La méthode doit lever votre exception personnalisée avec ces messages :

  • Si email est null : "Email cannot be null"
  • Si email est vide : "Email cannot be empty"
  • Si email ne contient pas @ : "Email must contain @"
  • Si email ne contient aucun texte avant @ : "Email must have a local part"
  • Si la validation réussit : return "Valid email"

Aide-mémoire

Créez des exceptions personnalisées en étendant la classe Exception :

public class AgeException extends Exception {
   public AgeException(String message) {
       super(message);
   }
}

Lancez des exceptions personnalisées en utilisant le mot-clé throw :

if (age < 0) {
   throw new AgeException("Invalid age: " + age);
}

Essayez vous-même

import java.util.Scanner;

class EmailException extends Exception {
    public EmailException(String message) {
        super(message);
    }
}

public class Main {
    public static String validateEmail(String email) throws EmailException {
        // Écrivez votre code ici
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String email = scanner.nextLine();
        if (email.equals("null")) {
            email = null;
        }
        
        try {
            System.out.println(validateEmail(email));
        } catch (EmailException 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