Команда осуществляет возврат из процедуры.
return ?-code code? ?-errorinfo info? ?-errorcode code? ?string?
Команда немедленно осуществляет возврат из текущей процедуры (или команды верхнего уровня, или команды source) со значением, заданным string. Если аргумент string не задан, возвращает пустую строку.
Обычно опция -code не используется, и процедура завершается успешно (с кодом завершения TCL_OK). Однако, ее можно использовать для генерации других кодов возврата. Ниже перечислены возможные коды.
Опция -code используется относительно редко. Она предусмотрена для того, чтобы процедуры, реализующие новые управляющие команды, могли вернуть вызывающим их процедурам исключительные условия.
Опции -errorinfo и -errorcode могут использоваться совместно с code error, чтобы вернуть дополнительную информацию о сгенерированной ошибке. В остальных случаях они игнорируются.
Опция -errorinfo используется для того, чтобы задать исходное значение переменной errorInfo. Если она не будет задана, то в переменную errorInfo будет включена информация о вызове процедуры, вернувшей ошибку, и о более высоких уровнях стека, но не информация непосредственно об ошибке внутри процедуры. Чаще всего для формирования переменной info используется сообщение команды catch, обнаружившей ошибку в процедуре.
Если опция -errorcode указана, она позволяет задать значение переменной errorCode. В противном случае ей будет присвоено значение NONE.