• Aucun résultat trouvé

Chapitre 11 Assertion en Java

N/A
N/A
Protected

Academic year: 2022

Partager "Chapitre 11 Assertion en Java"

Copied!
3
0
0

Texte intégral

(1)

Chapitre 11: Assertion en Java 1/3

© Étienne Bergeron v 1.2 Programmation II

Chapitre 11

Assertion en Java

(2)

Chapitre 11: Assertion en Java 2/3

© Étienne Bergeron v 1.2 Programmation II

Le mécanisme d'assertion permet au programmeur de vérifier dynamiquement des conditions. Ces vérifications sont optionnelles et généralement présentes lors du processus de développement et absentes lors de l'emploi final. Lorsque la condition n'est pas vérifiée, une exception est levée.

Exemple

public class AssertTest1 {

public static void main( String args[] ) {

assert args.length >= 2 && args.length <= 4;

System.out.println("->" + args[3] );

} }

Cet exemple suppose qu'il reçoit de 2 à 4 paramètres.

Note: Le mécanisme d'assertion existe depuis JDK-1.4.

La syntaxe du langage est modifiée pour supporter les nouvelles formes de JDK-1.4. Pour éviter des problèmes d'incompatibilité le programmeur doit activer la nouvelle syntaxe lors de la compilation de son application. De plus, le programmeur doit activer les assertions lors de l'exécution pour que les vérifications soient effectuées.

Compilation et exécution

% javac -source 1.4 AssertTest1.java

% java AssertTest1

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at AssertTest1.main(AssertTest1.java:5)

% java -ea AssertTest1

Exception in thread "main" java.lang.AssertionError at AssertTest1.main(AssertTest1.java:4)

Le mécanisme d'assertion permet de donner une valeur textuelle à l'assertion avec la syntaxe:

assert expression1 : expression2;

(3)

Chapitre 11: Assertion en Java 3/3

© Étienne Bergeron v 1.2 Programmation II

Exemple

public class AssertTest2 {

public static void main( String args[] ) {

assert args.length >= 2 && args.length <= 4 : \

"Invalid params (" + args.length + ")";

System.out.println("->" + args[3] );

} }

Compilation et exécution

% java -ea AssertTest2

Exception in thread "main" java.lang.AssertionError: Invalid params (0) at AssertTest2.main(AssertTest2.java:4)

Note: Il est possible d'activer ou de désactiver le mécanisme d'assertion via les fonctions du ClassLoader.

Références

Documents relatifs

Ce compte rendu devra être un fichier texte nommé TP4_NOM_PRENOM.txt où NOM est votre nom de famille et PRENOM votre prénom.. Exercice 1 Makefile pour

4-Je n’ai pas été moins sage que l’an dernier.. 5-Je ne me suis pas bagarré

Pour avoir une image plus précise de XUL, nous allons construire progressive- ment une première version statique de l’interface souhaitée pour la page prin- cipale de PHP Saloon ;

Le juge pour enfants Édouard Durand a été nommé coprésident de la commission sur l’inceste.. • BRUNO LÉVY/DIVERGENCE POUR LA VIE POUR

Libreville, le 23 mai 2014 (CEA) – A l’ouverture de la troisième édition de New York Forum Africa (NYFA) dans la capitale gabonaise le Secrétaire Général Adjoint des Nation Unies

(Nous ne pouvons pas référencer directement une variable ordinaire dans la définition d'un widget Tkinter, parce que Tkinter lui-même est écrit dans un langage qui n'utilise pas

[r]

Programmer votre robot pour que celui-ci revienne à la case départ en calculant le plus court chemin avec l’algorithme de recherche A*. Pour cela, vous devez