Команда генерирует ошибку.
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. Эта переменная предназначена для хранения машинного описания ошибки в тех случаях, когда такое описание возможно. Форматы различных сообщений приведены в разделе tell. Если аргумент не задан, переменной errorCode в процессе обработки Tcl-интерпретатором ошибки, порожденной командой, присваивается значение "NONE".