Встроенные команды ТCL
error
Команда генерирует ошибку.
Синтаксис
error message?info??code?
Описание
Команда возвращает код TCL_ERROR, прерывающий интерпретацию команды. Строка message возвращается приложению, чтобы указать, что именно произошло.
Если задан непустой аргумент info, его значение присваивается глобальной переменной errorInfo.
Переменная errorInfo обычно используется для формирования сведений о вложениях команды, в которой произошла ошибка. Другими словами, как только оказывается, что невыполненная команда была вложена в другую команду, информацию об этой команде добавляется к errorInfo. Если же аргумент info был задан, этого не происходит. Эта особенность позволяет при использовании команды error совместно с командой catch выдать информацию о реальном месте ошибки (а не о месте вызова команды error). Для этого можно использовать следующую конструкцию:
catch {...} errMsg
set savedInfo $errorInfo
…
error $errMsg $savedInfo
Если задан аргумент code, то его значение будет присвоено глобальной переменной errorCode, Эта переменная предназначена для хранения машинного описания ошибки в тех случаях, когда такое описание возможно. Если аргумент не задан, переменной errorCode в процессе обработки Tcl-интерпретатором ошибки, порожденной командой, присваивается значение NONE.