Le mot-clé assert en Java est utilisé à des fins de débogage. Il permet aux développeurs de tester les hypothèses concernant leur code. Les assertions peuvent être activées ou désactivées lors de l'exécution du programme, ce qui en fait un outil flexible pour détecter et diagnostiquer les erreurs au cours du développement.
Utilisation
Le mot-clé assert est utilisé pour créer une assertion, qui est une déclaration que vous croyez vraie à un point particulier de votre code. Si l'assertion est fausse, l'exécution Java lancera un AssertionError. Les assertions sont généralement utilisées pour valider les invariants internes et les hypothèses.
Syntax
assert expression;
assert expression : message;Propulsé par
expression: Une expression booléenne dont vous attendez qu'elle soit vraie.
message: Un message d'erreur facultatif qui sera affiché si l'assertion échoue.
Exemples
Exemple 1 : Assertion de base
publicclassAssertExample{publicstaticvoidmain(String[] args){
int x =5;
assert x >0;
System.out.println("Assertion passed, x is greater than 0");}}Propulsé par
Dans cet exemple, l'assertion vérifie que x est supérieur à 0. Si x n'est pas supérieur à 0, un message AssertionError est envoyé.
Exemple 2 : Assertion avec message
publicclassAssertWithMessage{publicstaticvoidmain(String[] args){
int y =-1;
assert y >=0:"y should be non-negative";
System.out.println("Assertion passed, y is non-negative");}}Propulsé par
Cet exemple inclut un message avec l'assertion. Si y n'est pas supérieur ou égal à 0, le message "y should be non-negative" s'affiche en même temps que AssertionError.
Exemple 3 : Activation des assertions
publicclassEnableAssertions{publicstaticvoidmain(String[] args){
int z =10;
assert z <5:"z should be less than 5";
System.out.println("This line will not execute if assertion fails");}}Propulsé par
Pour activer les assertions, exécutez le programme avec l'option -ea (enable assertions) :
Si les assertions ne sont pas activées, elles seront ignorées et le programme s'exécutera normalement.
Conseils et bonnes pratiques
Utilisation pour les invariants internes: Utilisez les assertions pour vérifier les invariants internes et les hypothèses dans votre code, et non pour la validation des entrées utilisateur ou d'autres vérifications externes.
Activer pendant le développement: Activez les assertions pendant le développement et les tests pour détecter les bogues à un stade précoce. Ils peuvent être désactivés en production pour des raisons de performance.
Ne pas utiliser en cas d'effets secondaires: Évitez d'utiliser des assertions pour les effets secondaires, car elles peuvent être désactivées au moment de l'exécution. Le programme ne doit pas s'appuyer sur des assertions pour effectuer des tâches critiques.
Fournissez des messages significatifs: Lorsque vous utilisez des assertions avec des messages, fournissez des messages significatifs et descriptifs pour faciliter le débogage.
Évitez les méthodes publiques: Évitez d'utiliser des assertions dans les méthodes publiques pour vérifier les arguments ; utilisez plutôt des exceptions.
Idées reçues
Assertions dans la production: On pense souvent à tort que les assertions doivent être utilisées dans le code de production. Les assertions sont avant tout un outil de développement et doivent généralement être désactivées en production pour éviter les problèmes de performance.
Assertions vs. Exceptions: Les assertions ne remplacent pas les exceptions. Utilisez les exceptions pour la gestion des erreurs, en particulier pour les arguments des méthodes publiques et la validation des données saisies par l'utilisateur.
publicvoidsetAge(int age){if(age <0){thrownewIllegalArgumentException("Age cannot be negative");}this.age = age;}Propulsé par
Le mot-clé
asserten Java est utilisé à des fins de débogage. Il permet aux développeurs de tester les hypothèses concernant leur code. Les assertions peuvent être activées ou désactivées lors de l'exécution du programme, ce qui en fait un outil flexible pour détecter et diagnostiquer les erreurs au cours du développement.Utilisation
Le mot-clé
assertest utilisé pour créer une assertion, qui est une déclaration que vous croyez vraie à un point particulier de votre code. Si l'assertion est fausse, l'exécution Java lancera unAssertionError. Les assertions sont généralement utilisées pour valider les invariants internes et les hypothèses.Syntax
expression: Une expression booléenne dont vous attendez qu'elle soit vraie.message: Un message d'erreur facultatif qui sera affiché si l'assertion échoue.Exemples
Exemple 1 : Assertion de base
Dans cet exemple, l'assertion vérifie que
xest supérieur à 0. Sixn'est pas supérieur à 0, un messageAssertionErrorest envoyé.Exemple 2 : Assertion avec message
Cet exemple inclut un message avec l'assertion. Si
yn'est pas supérieur ou égal à 0, le message "y should be non-negative" s'affiche en même temps queAssertionError.Exemple 3 : Activation des assertions
Pour activer les assertions, exécutez le programme avec l'option
-ea(enable assertions) :Si les assertions ne sont pas activées, elles seront ignorées et le programme s'exécutera normalement.
Conseils et bonnes pratiques
Idées reçues