Qu'est-ce que l'assertion en Java ? Comment utiliser Assertion en Java

Publié: 2021-05-20

Table des matières

Qu'est-ce que l'assertion en Java ?

L'assertion en Java est utilisée pour garantir l'exactitude des hypothèses de tout programme, car l'assertion est supposée vraie lorsqu'elle est exécutée. La machine virtuelle Java génère une erreur nommée AssertionError si l'assertion est fausse. L'assertion en Java a trouvé son application principalement à des fins de test. Les expressions booléennes sont utilisées avec les déclarations d'assertion. Une assertion est une déclaration, et le mot-clé 'asset' est utilisé pour effectuer une assertion en Java.

Syntaxe

Voici deux manières d'effectuer une assertion en Java :

1. affirmer l'expression;

2. assert expression1 : expression2 ;

Comment utiliser l'assertion en Java ?

Les assertions sont désactivées en Java par défaut. La commande suivante est utilisée pour les activer :

test java-ea

(ou)

java -enableassertions Test

où Test est le nom du fichier Java.

Voici un exemple pour illustrer la syntaxe de l'assertion :

Test de classe publique

{

public static void main(String[] args)

{

valeur entière = 13 ;

assert value <= 12 : "Pas ado" ;

System.out.println(“L'âge de l'adolescent est ” + valeur);

}

}

Sortir

Voici un exemple de génération d'une erreur d'assertion par la machine virtuelle Java -

essai de classe

{

public static void main( String args[] )

{

poids entier = 30 ;

assert weight >= 20 : « Surpoids » ;

System.out.println("Le poids est "+valeur);

}

}

Sortir

Après avoir activé les assertions,

Sortir

Exception dans le thread "main" java.lang.AssertionError : Surpoids

Voici à quoi cela ressemble :

La source

Pourquoi utiliser des assertions ?

L' assertion en Java est utilisée pour :

  • Vérifiez si les hypothèses faites par le programmeur sont correctes ou non.
  • Assurez-vous que si le code semble inaccessible, il est inaccessible.
  • Confirmez que les hypothèses écrites dans les commentaires sont correctes, par exemple :

si ((y & 1) == 1)

{ }

else // y doit être pair

{ affirmer (y % 2 == 0); }

  • assurez-vous que le cas de commutation par défaut n'est pas atteint
  • vérifier l'état de l'objet

L'assertion en Java est utilisée au début de la méthode et après l'invocation de la méthode.

Où utiliser les assertions ?

L'assertion en Java est utilisée dans les cas conditionnels et lorsque les conditions sont au début de toute méthode. Aussi, dans le cas d'arguments de méthodes privées. Le code du développeur fournit des arguments privés et lorsque le programmeur doit vérifier ses hypothèses concernant les arguments.

Voici quelques situations dans lesquelles l'utilisation d'assertions doit être évitée :

  1. Conformément aux spécifications fournies par Sun Microsystems, l'assertion ne doit pas être utilisée lors de la vérification des arguments dans les méthodes publiques car cela entraînerait des exceptions d'exécution appropriées telles que NullPointerException et IllegalArgumentException.
  2. Il ne doit pas être utilisé en remplacement des messages d'erreur.
  3. Si vous ne voulez pas qu'une erreur se produise dans n'importe quelle situation, ignorez l'assertion.
  4. Il ne doit pas être utilisé sur les arguments de la ligne de commande.
  5. Si l'utilisateur fournit des erreurs, les assertions ne doivent pas être utilisées pour vérifier les arguments dans les méthodes publiques. Au lieu de cela, la gestion des erreurs doit être utilisée.

Comment désactiver les assertions ?

Les commandes suivantes sont utilisées pour désactiver l' assertion en Java :

test java-da

Ou

java - Test de désactivation des assertions

où Test est le nom du fichier Java.

Façons d'utiliser Assertion en Java

Exemple 1 : assertion Java

classe publique principale {

public static void main(String args[]) {

Chaîne[] jours de la semaine = {"Lun", "Mar", "Mer", "Jeu", "Ven"} ;

assert weekdays.length == 2;

System.out.println(“Il y a ” + weekdays.length + ” jours de la semaine dans une semaine”);

}

}

Sortir

La sortie suivante est obtenue lorsque les assertions sont désactivées et que le programme n'a aucune erreur de compilation.

Lorsque les assertions sont activées, nous obtenons la sortie suivante :

Exception dans le thread "main" java.lang.AssertionError

Il existe une autre forme d'énoncé d'assertion qui est la suivante :

affirmer la condition : expression ;

Cette forme d'instruction d'assertion a une expression qui est passée au constructeur de l'objet AssertionError. Si la condition est fausse, cette expression a une valeur affichée comme message détaillé de l'erreur. Pour aider à déboguer le problème, le massage détaillé capture et transmet les informations d'échec d'assertion.

Exemple 2 : assertion Java avec exemple d'expression

classe publique principale {

public static void main(String args[]) {

Chaîne[] jours de la semaine = {"Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"} ;

assert weekdays.length == 5: "Il n'y a que 5 jours de semaine dans une semaine";;

System.out.println(“Il y a ” + weekdays.length + ” jours de la semaine dans une semaine”);

}

}

Sortir

Exception dans le thread "main" java.lang.AssertionError : Il n'y a que 5 week-ends dans une semaine

Comme indiqué dans l'exemple ci-dessus, l'expression est transmise au constructeur de l'objet AssertionError. Comme les assertions sont activées et que l'hypothèse est fausse, un message approprié s'affiche lorsqu'une exception est levée. Le message permet de diagnostiquer et de corriger l'erreur qui a provoqué l'échec de l'assertion.

Apprenez des cours de génie logiciel en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

Dans ce blog, vous avez appris à utiliser des assertions pour tester la logique du programme. Vous avez également appris pourquoi les assertions ne peuvent pas être utilisées pour remplacer les exceptions, et vous avez vu des situations où l'utilisation d'une exception serait plus efficace que la gestion des exceptions.

Si vous cherchez à en savoir plus sur Java et à progresser dans votre carrière en programmation, explorez les cours en ligne Java gratuits d'upGrad, la plus grande société d'enseignement supérieur en ligne d'Inde. Visitez upGrad pour plus d'informations.

Si vous souhaitez en savoir plus sur Java, le développement de logiciels à pile complète, consultez le programme Executive PG de upGrad & IIIT-B en développement de logiciels à pile complète, conçu pour les professionnels en activité et offrant plus de 500 heures de formation rigoureuse, 9+ projets et affectations, statut d'ancien de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Qu'est-ce que l'assertion en Java ?

Dans le langage de programmation Java, l'assertion est une méthode utilisée pour s'assurer que certaines exigences doivent être respectées. L'échec de l'assertion en Java est considéré comme une erreur de compilation, c'est-à-dire que s'il y a des assertions dans votre code, le code ne sera pas compilé et vous obtiendrez un message d'erreur. Cette fonctionnalité de Java vous permet de protéger votre code des erreurs d'exécution inattendues ou indésirables. L'instruction Java assert vous permet de tester les invariants de votre programme au moment de l'exécution. Les assertions sont normalement utilisées pour vérifier que le code n'entre pas dans un état invalide. Dans d'autres langues, vous pouvez voir des méthodes contractuelles ou des conditions pré/post utilisées à cette fin.

Comment gérer les exceptions en Java ?

Une exception est une erreur d'exécution, ce qui signifie qu'elle se produit pendant l'exécution du programme, et non pendant la compilation. L'exception est levée lorsqu'une erreur s'est produite et que le programme ne peut pas continuer. Vous pouvez gérer les exceptions de trois manières différentes : Ignorez l'exception et laissez le programme se fermer. Utilisez le mot-clé throw pour relancer l'exception. Utilisez le bloc try-catch pour gérer l'exception. Vous pouvez enregistrer ou imprimer l'exception, puis laisser le programme se terminer. Vous pouvez utiliser le mot-clé exit pour terminer le programme. Vous pouvez utiliser le mot clé throw pour relancer l'exception. Vous pouvez utiliser le bloc try-catch pour gérer l'exception. Il y a un bloc catch qui accepte l'exception dans son argument. Il y a un bloc finally qui s'exécute qu'une exception soit levée ou non.

Comment fonctionne try-catch en Java ?

try-catch est un mécanisme en Java qui vous permet de définir une portée dans laquelle vous pouvez gérer les erreurs d'exécution de manière contrôlée. Cela garantit également que le flux d'exécution ne s'arrête pas complètement lorsqu'une erreur est rencontrée. try et catch sont deux mots clés utilisés pour implémenter la gestion des exceptions. Chaque fois qu'une erreur se produit dans votre programme, le bloc try sera exécuté et l'erreur sera alors gérée par le bloc catch.