Retour d'une fonction
return ?-code code? ?-errorinfo info? ?-errorcode code? ?string?
Retour immédiat de la fonction courante (ou d'une commande d'avant plan ou d'une commande source), avec string comme valeur de retour. Si string n'est pas spécifiée alors une chaîne vide sera renvoyée comme résultat
Dans le cas normal où l'option -code n'est pas spécifiée la fonction renverra normalement (son code de retour sera TCL_OK). Néanmoins, l'option -code peut être employée pour générer un retour exceptionnel de la fonction. Code peut avoir une des valeurs suivantes:
L'option -code est rarement utilisée. Elle est fournie pour que les fonctions qui implémentent de nouvelles structures de contrôle puissent refléter les conditions exceptionnelle à leurs appelants.
Deux options supplémentaires, -errorinfo et -errorcode, peuvent être employées pour fournir une information supplémentaire pendant le retour d'erreur. Ces options sont ignorées à moins que code soit error.
L'option -errorinfo spécifie une trace initiale de la pile pour la variable errorInfo; si elle n'est pas spécifiée alors la trace de la pile transmise à errorInfo inclura l'appel à la fonction et les niveaux supérieurs sur la pile mais n'inclura pas d'information concernant le contexte de l'erreur à l'intérieur de la fonction. Typiquement la valeur info est fournie en partant de la valeur transmise à errorInfo après qu'une commande catch ait intercepté une erreur à l'intérieur de la fonction.
Si l'option -errorcode est spécifiée alors code fournit une valeur pour la variable errorCode. Si l'option n'est pas spécifiée alors errorCode sera par défaut de NONE