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 exceptionnew 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
Défi
FacileCréez une méthode nommée validateAge qui prend deux arguments :
- Un entier (
age) à valider - 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 exceptionnew 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());
}
}
}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