Test des conditions d'erreur
Cette rubrique s'applique à :
Édition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Natif uniquement |
||||
Pro, Premium et Ultimate |
Natif uniquement |
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.