Partager via


Test des conditions d'erreur

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Standard

La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Pro et Team

La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Vous pouvez utiliser des assertions pour tester les conditions d'erreur en un point de votre code où toutes les erreurs devraient avoir été gérées. Dans l'exemple suivant, une routine graphique retourne un code d'erreur ou zéro en cas de succès.

myErr = myGraphRoutine(a, b);

/* Code to handle errors and
   reset myErr if successful */

ASSERT(!myErr); -- MFC version
_ASSERT(!myErr); -- CRT version

Si le code de gestion des erreurs fonctionne correctement, l'erreur devrait être gérée et myErr réinitialisé avant que l'assertion ne soit atteinte. Si myErr a une autre valeur, l'assertion échoue, le programme s'arrête et la Échec de l'assertion, boîte de dialogue apparaît.

Les instructions d'assertion, toutefois, ne remplacent pas le code de gestion des erreurs. L'exemple suivant illustre une instruction d'assertion qui peut provoquer des problèmes dans le code de la version finale :

myErr = myGraphRoutine(a, b);

/* No Code to handle errors */

ASSERT(!myErr); // Don't do this!
_ASSERT(!myErr); // Don't do this, either!

Ce code s'appuie sur l'instruction d'assertion pour gérer la condition d'erreur. Par conséquent, tout code d'erreur retourné par myGraphRoutine sera non géré dans le code de la version finale.

Voir aussi

Concepts

Contrôle des résultats

Interception des erreurs de logique

Assertions