Table des matières
return
Retour d'une fonction
Syntaxe
return ?-code code? ?-errorinfo info? ?-errorcode code? ?string?
Description
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
Retours exceptionnels
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:
- ok (etour normal) : idem que si l'option est omise.
- error (retour d'erreur) : idem que si la commande error avait été utilisée pour terminer la fonction, excepté pour la gestion des variables errorInfo et errorCode.
- return : La fonction courante renvoie un code de retour de TCL_RETURN, ainsi que la fonction qui l'a appelée.
- break : La fonction courante renvoie un code de retour de TCL_BREAK, qui terminera la boucle la plus imbriquée dans le code qui a appelé la fonction courante.
- continue : La fonction courante renvoie un code de retour de TCL_CONTINUE, qui terminera l'itération courante de la boucle la plus imbriquée dans le code qui appelée la fonction courante.
- value : value doit être un entier, il sera renvoyé comme code de retour de la fonction courante.
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