Retour au cours

Introduction aux Assertions (mot-clé assert)

Maîtrise de Java : De Zéro à Développeur Professionnel (Un parcours en 50 leçons)

Leçon 35 : Introduction aux Assertions (mot-clé assert)

Les assertions sont des instructions utilisées pour tester des hypothèses sur l'état interne d'un programme. Elles sont principalement utilisées pour le débogage et les tests de développement, et non pour gérer les erreurs d'exécution attendues.

1. Syntaxe de l'assertion

Java possède deux formes de l'instruction assert :

Forme 1 : Condition simple

java assert condition;

Si condition est évaluée à false, une AssertionError est levée.

Forme 2 : Condition avec message de détail

java assert condition : "Message de détail décrivant l'échec";

2. Exemple d'utilisation

java public double calculateDiscount(int quantity) { // Assertion : Nous supposons que la quantité ne devrait jamais être négative ici. // Si elle l'est, cela indique un défaut de logique profond que nous devons corriger pendant le développement. assert quantity >= 0 : "La quantité ne peut pas être négative : " + quantity;

if (quantity > 10) {
    return 0.20; 
} else {
    return 0.05;
}

}

3. Activation des assertions

Les assertions sont désactivées par défaut en Java pour des raisons de performance. Elles doivent être explicitement activées lors de l'exécution de la JVM en utilisant le drapeau -ea (enable assertions).

Pour exécuter le code avec les assertions activées :

bash java -ea VotreClasse

Distinction importante :

  • Les Exceptions sont destinées aux erreurs récupérables et attendues (ex: fichier non trouvé, mauvaise saisie utilisateur).
  • Les Assertions sont destinées aux erreurs de logique interne qui ne devraient jamais se produire dans un programme fonctionnant correctement. Si une assertion échoue, cela signifie que la logique du code doit être corrigée, et non simplement gérée gracieusement.