Assertions en Java

Une assertion permet de tester l’exactitude de toutes les hypothèses qui ont été faites dans le programme.

L’assertion est réalisée à l’aide de l’instruction assert en Java. Lors de l’exécution de l’assertion, on pense que c’est TRUE. En cas d’échec, JVM renvoie une erreur nommée AssertionError. Il est principalement utilisé à des fins de test pendant le développement.

L’instruction assert est utilisée avec une expression booléenne et peut être écrite de deux manières différentes.
 
 

Syntaxe 1:
assert expression;

 

Syntaxe 2:
assert expression1 : expression2;

 

Exemple:
import java.util.Scanner;
  
class AssertionExemple
{
	public static void main( String args[] )
	{
		Scanner sc = new Scanner(System.in);
		System.out.print("Entrez votre age: ");
		  
		int age = sc.nextInt();
		assert age >= 20 : "Invalide!";

		System.out.println("Age est "+age);
	} 
}

Sortie:
 

 
Si vous utilisez une assertion, elle ne s’exécutera pas simplement parce que l’assertion est désactivée par défaut. Pour activer l’assertion, l’option -ea ou -enableassertions de java doit être utilisé.

  • Compilez-le par: javac AssertionExemple.java
  • Exécutez-le par: java -ea AssertionExemple

 

 
 

Pourquoi utiliser les assertions?

– Partout où un programmeur veut voir si ses hypothèses sont fausses ou non.
– S’assurer que les hypothèses écrites dans les commentaires sont correctes.

if((n % 1) == 1)  
{  }
else // n doit être pair
{ assert (n % 2 == 0); }

 

Différence entre Assertion et Exception

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 auquel un code s’attend avant qu’il ne commence à s’exécuter ou l’état après qu’il a fini de s’exécuter. Contrairement aux exceptions/erreurs, les assertions sont généralement désactivées au moment de l’exécution.
 

Quand utiliser les assertions

Avec des arguments de méthodes privées. Les arguments privés sont fournis uniquement par le code du développeur et le développeur peut vouloir vérifier ses hypothèses sur les arguments.
 

Quand n’utiliser pas 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 l’utilisateur.
qcm Java 8

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *