====== 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 [[:tcl: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 ===== Exemples ===== ===== Voir aussi ===== {{tag>tcl}}