logo

Assertions en Java

Une assertion permet de tester l'exactitude de toutes les hypothèses formulées dans le programme. Une assertion est obtenue en utilisant le affirmer déclaration en Java. Lors de l'exécution de l'assertion, on pense qu'elle est vraie. En cas d'échec, la JVM renvoie une erreur nommée AssertionError. Il est principalement utilisé à des fins de tests lors du développement.

Le affirmer L'instruction est utilisée avec une expression booléenne et peut être écrite en deux manières différentes .



Première façon :

 assert expression;>

Deuxième manière :

 assert expression1 : expression2;>

Exemple:



Java






// Java program to demonstrate syntax of assertion> import> java.util.Scanner;> class> Test {> >public> static> void> main(String args[])> >{> >int> value =>15>;> >assert> value>=>20> :>' Underweight'>;> >System.out.println(>'value is '> + value);> >}> }>

>

>

Sortir

value is 15>

Après avoir activé les assertions :

Sortir:

Exception in thread 'main' java.lang.AssertionError: Underweight>

Activation des assertions

liste chaînée

Par défaut, les assertions sont désactivées. Nous devons exécuter le code comme indiqué. La syntaxe permettant d'activer l'instruction d'assertion dans le code source Java est :

 java –ea  Test>

Ou

 java –enableassertions  Test>

Ici, Test est le nom du fichier.

Désactivation des assertions

La syntaxe pour désactiver les assertions en Java est :

 java –da  Test>

Ou

 java –disableassertions  Test>

Ici, Test est le nom du fichier.

Pourquoi utiliser les assertions

Partout où un programmeur veut voir si ses hypothèses sont fausses ou non.

  • Pour s'assurer qu'un code qui semble inaccessible est réellement inaccessible.
  • Pour s'assurer que les hypothèses écrites dans les commentaires sont correctes.
if ((x & 1) == 1) { } else // x must be even { assert (x % 2 == 0); }>
  • Pour vous assurer que le cas de commutation par défaut n’est pas atteint.
  • Pour vérifier l’état de l’objet.
  • Au début de la méthode
  • Après l'invocation de la méthode.

Assertion et gestion normale des exceptions

méthode de comparaison java

Les assertions sont principalement utilisées pour vérifier des situations logiquement impossibles. Par exemple, ils peuvent être utilisés pour vérifier l’état attendu par un code avant de commencer à s’exécuter ou l’état une fois son exécution terminée. Contrairement à la gestion normale des exceptions/erreurs, les assertions sont généralement désactivées au moment de l’exécution.

Où utiliser les assertions

  • Arguments aux méthodes privées. Les arguments privés sont fournis uniquement par le code du développeur et celui-ci souhaitera peut-être vérifier ses hypothèses sur les arguments.
  • Cas conditionnels.
  • Conditions au début de toute méthode.

Où ne pas utiliser les assertions

  • Les assertions ne doivent pas être utilisées pour remplacer les messages d'erreur
  • Les assertions ne doivent pas être utilisées pour vérifier les arguments dans les méthodes publiques car ils peuvent être fournis par l'utilisateur. La gestion des erreurs doit être utilisée pour gérer les erreurs fournies par les utilisateurs.
  • Les assertions ne doivent pas être utilisées sur les arguments de ligne de commande.

Exemple:

Java




// Java program to demonstrate assertion in Java> public> class> Example {> >public> static> void> main(String[] args)> >{> >int> age =>14>;> >assert> age <=>18> :>'Cannot Vote'>;> >System.out.println(>'The voter's age is '> + age);> >}> }>

>

>

Sortir

The voter's age is 14>