Встроенные команды ТCL


return

        Команда осуществляет возврат из процедуры.

         Синтаксис
        return ?-code code?? -errorinro info?? -errorcode code??string?

        Описание

        Команда немедленно осуществляет возврат из текущей процедуры (или команды верхнего уровня, или команды source) со значением, заданным string. Если аргумент string не задан, возвращает пустую строку.

        Обычно опция -code не используется, и процедура завершается успешно (с кодом завершения TCL_OK). Однако ее можно использовать для генерации других кодов возврата. Ниже перечислены возможные коды.

ok
        Успешное завершение. То же самое, что отсутствие кода.

error
        Возвращает ошибку. То же самое, что использовать команду error для прекращения выполнения процедуры за исключением обработки переменных errorInfo и errorCode.

return
        Текущая процедура вернет код TCL_RETURN, который вызовет немедленный возврат также и из вызывающей процедуры.

break
        Текущая процедура вернет код TCL_BREAK, который вызовет немедленное прекращение выполнения самого внутреннего из вложенных циклов, из которого была вызвана процедура.

continue
        Текущая процедура вернет код TCL_CONTINUE, который вызовет немедленное прекращение выполнения текущей итерации самого внутреннего из вложенных циклов, из которого была вызвана процедура.

value
        Значение value должно быть целым числом. Оно будет возвращено как код выполнения процедуры.

        Опция -code используется относительно редко. Она предусмотрена для того, чтобы процедуры, реализующие новые управляющие команды, могли вернуть вызывающим их процедурам исключительные условия.

        Опции -errorinfo и -errorcode. могут использоваться совместно с -code error, чтобы вернуть дополнительную информацию о сгенерированной ошибке. В остальных случаях они игнорируются.

        Опция -errorinfo используется для того, чтобы задать исходное значение переменной errorinfo. Если она не будет задана, то в переменную errorinfo будет включена информация о вызове процедуры, вернувшей ошибку, и о более высоких уровнях стека, но не информация непосредственно об ошибке внутри процедуры. Чаще всего для формирования переменной info используется сообщение команды catch, обнаружившей ошибку в процедуре.

        Если опция -errorcode указана, она позволяет задать значение переменной errorCode. В противном случае ей будет присвоено значение NONE.
Hosted by uCoz