Table des matières

error

Génère une erreur

Syntaxe

error message ?info? ?code?

Description

Renvoie un code TCL_ERROR, qui provoque l'interruption de l'interprétation de la commande. Message est une chaîne qui est renvoyée à l'application pour indiquer ce qui s'est mal passé.

Si l'argument info est fourni et est non-vide, il est utilisé pour initialiser la variable globale errorInfo. errorInfo est utilisée pour accumuler une trace de la pile de ce qui était en cours quand l 'erreur s'est produite; quand des commandes imbriquées se déroulent, l'interpréteur Tcl ajoute l'information à errorInfo. Si l'argument info est présent, il est utilisé pour initialiser errorInfo et le premier incrément d'information ne sera pas ajouté par l'interpréteur Tcl. En d'autre mots, la commande contenant la commande error n’apparaîtra pas dans errorInfo; à sa place il y aura info. Cette fonctionnalité est plus utile en conjonction avec la commande catch: si une erreur interceptée ne peut être gérée avec succès, info peut être utilisée pour renvoyer une trace de la pile reflétant le point original où l'erreur s'est produite:

catch {...} errMsg
   set savedInfo $errorInfo
   ...
   error $errMsg $savedInfo

Si l'argument code est présent, alors sa valeur est stockée dans la variable globale errorCode. Cette variable est conçue pour recevoir une description machine-lisible de l'erreur dans le cas où cette information est disponible; voyez la page de manuel de tclvars pour des informations sur le format correct de la variable. Si l'argument code n'est pas présent, alors errorCode est automatiquement réinitialisé à “NONE” par l'interpréteur Tcl comme partie du traitement de l'erreur générée par la commande.

Le style moderne préfère return -code error …

Exemples

Voir aussi