ASSERT |
Assertion |
Delphi/Kylix/Lazarus |
System |
Syntaxe
Procedure Assert(Condition:Boolean); overload;
|
Procedure Assert(Condition:Boolean;Message:String); overload;
|
Paramètres
Nom |
Description |
Condition |
Ce paramètre permet d'indiquer l'assertion. Ainsi, si la valeur qu'il compare est égale à zéro, c'est-à-dire que l'expression est fausse, un message sera
envoyer vers la sortie standard d'erreur. |
Message |
Ce paramètre permet d'indiquer le message d'assertion à utiliser. |
Description
Cette procédure permet de tester si une expression booléenne est True.
Remarques
- Utilisez la procédure Assert pour documenter et appliquer les hypothèses que vous devez faire lors de l'écriture de code. La procédure Assert n'est pas une véritable procédure.
- Le compilateur gère spécialement Assert et compile le nom de fichier et le numéro de ligne de l'assertion pour vous aider à localiser le problème en cas d'échec
de l'assertion.
- Si la condition du paramètre Condition est False, alors Delphi appelle la procédure pointée par la variable AssertErrorProc.
L'unité SysUtils définit cette variable sur une procédure déclenchant l'exception EAssertionFailed. Si AssertErrorProc est
nil, le Delphi déclenche l'erreur d'exécution 21 (EAssertError).
- Vous pouvez inclure un message facultatif que Delphi transmet à la procédure AssertErrorProc. Si vous n'incluez pas le message, Delphi utilise un message par
défaut, c'est-à-dire :
- La bonne façon d'utiliser Assert est de spécifier les conditions devant être vraies pour que votre code fonctionne correctement. Tous les programmeurs font
des hypothèses - sur l'état interne d'un objet, la valeur ou la validité des paramètres d'un sous-programme ou la valeur renvoyée par une fonction. Une bonne façon de penser aux
assertions est qu'elles vérifient les erreurs du programmeur, pas les erreurs de l'utilisateur.
- Bien que vous puissiez désactiver les assertions avec les directives de compilateur $Assertions ou $C, vous aurez rarement une raison de le faire.
Recevoir l'erreur ?Assertion failed.» est déconcertant pour un utilisateur, mais beaucoup moins déconcertant que les données de l'utilisateur corrompues.
Dernière mise à jour : Dimanche, le 21 Mars 2021