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
Défi
FacileCréez une classe d'exception personnalisée nommée EmailException et une méthode nommée validateEmail qui prend un argument :
- 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());
}
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots