4D v16.3

ASSERT

Accueil

 
4D v16.3
ASSERT

ASSERT 


 

ASSERT ( expressionBool {; texteMessage} ) 
Paramètre Type   Description
expressionBool  Booléen in Expression booléenne
texteMessage  Texte in Texte du message d’erreur

La commande ASSERT évalue l'assertion expressionBool passée en paramètre et, si elle retourne faux, interrompt l'exécution du code en affichant une erreur. La commande fonctionne en mode interprété et en mode compilé.

Si l’expression est vraie, il ne se passe rien. Si l’expression est fausse, la commande déclenche l’erreur -10518 et affiche par défaut le texte de l’assertion précédé du message "Fausse assertion :". Vous pouvez intercepter cette erreur via une méthode installée par la commande ON ERR CALL, afin par exemple d’alimenter un fichier d’historique.

Optionnellement, vous pouvez passer un paramètre texteMessage afin d'afficher un message d'erreur personnalisé au lieu du texte de l'assertion.

Une assertion est une instruction insérée dans le code d'une méthode 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 SET ASSERT ENABLED. 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)

Avant d’effectuer des opérations sur un enregistrement, le développeur souhaite s’assurer qu’il est bien chargé en lecture écriture :

 READ WRITE([Table 1])
 LOAD RECORD([Table 1])
 ASSERT(Not(Locked([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_TEXT($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"



Voir aussi  

Asserted
Get assert enabled
SET ASSERT ENABLED

 
PROPRIÉTÉS 

Produit : 4D
Thème : Interruptions
Numéro : 1129

Cette commande modifie la variable système ErrorCommande(s) éligible(s) à l'exécution dans un process préemptif

 
HISTORIQUE 

Créé : 4D v12

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)