4D v14.3ASSERT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
ASSERT
|
ASSERT ( expressionBool {; texteMessage} ) | ||||||||
Paramètre | Type | Description | ||||||
expressionBool | Booléen |
![]() |
Expression booléenne | |||||
texteMessage | Texte |
![]() |
Texte du message d’erreur | |||||
La commande ASSERT permet de placer une assertion dans le code d’une méthode.
Une assertion est une instruction insérée dans le code et chargée de détecter des éventuelles anomalies au cours de son exécution. Le principe consiste à vérifier qu’une expression est vraie à un instant donné et, dans le cas contraire, produire une exception. Les assertions sont surtout utilisées pour détecter des cas qui ne devraient jamais arriver en temps normal. Elles servent donc essentiellement à détecter des bogues de programmation. Il est possible d’activer ou de désactiver globalement toutes les assertions d’une application (par exemple en fonction du type de version) via la commande FIXER ACTIVATION ASSERTIONS.
Pour plus d’informations sur les assertions en programmation, reportez-vous à l’article (en anglais) qui leur est consacré sur Wikipedia : http://en.wikipedia.org/wiki/Assertion_(computing)
La commande ASSERT évalue l’expression booléenne passée en paramètre. Si l’expression est vraie, il ne se passe rien. Si l’expression est fausse, la commande déclenche l’erreur -10518 et affiche le texte de l’assertion précédée du message "Fausse assertion :". Vous pouvez intercepter cette erreur via une méthode installée par la commande APPELER SUR ERREUR, afin par exemple d’alimenter un fichier d’historique.
La commande accepte en deuxième paramètre optionnel un texte qui sera affiché dans le message d’erreur à la place du texte de l’expression booléenne si elle est fausse.
Avant d’effectuer des opérations sur un enregistrement, le développeur souhaite s’assurer qu’il est bien chargé en lecture écriture :
LECTURE ECRITURE([Table 1])
CHARGER ENREGISTREMENT([Table 1])
ASSERT(Non(Enregistrement verrouille([Table 1]))) //déclenche l'erreur -10518 si l'enregistrement est verrouillé
Une assertion peut permettre de tester les paramètres passés à une méthode projet pour détecter des valeurs aberrantes. Dans cet exemple, un message d’alerte personnalisé est utilisé.
// Méthode qui retourne le numéro d'un client en fonction de son nom passé dans $1
C_TEXTE($1) // Nom du client
ASSERT($1#"";"Recherche d’un nom de client vide")
// Un nom vide dans ce cas est une valeur aberrante
// Si assertion fausse, affichera dans la boîte de dialogue d'erreur :
// "Fausse assertion : Recherche d’un nom de client vide"
Produit : 4D
Thème : Interruptions
Numéro :
1129
Nom intl. : ASSERT
Créé : 4D v12
Asserted
FIXER ACTIVATION ASSERTIONS
Lire activation assertions
4D - Langage ( 4D v12.4)
4D - Langage ( 4D v14 R3)
4D - Langage ( 4D v14 R2)
4D - Langage ( 4D v13.5)
4D - Langage ( 4D v14.3)
4D - Langage ( 4D v14 R4)