Spec-Zone.ru › Tcl/Tk

Ошибка

Имя

Ошибка — Создать ошибку

Синопсис

ошибка сообщение ?информация? ?код?

Описание

Возвращает код TCL_ERROR, который вызывает отмену интерпретации команды. Сообщение — это строка, которая возвращается приложению, чтобы указать, что пошло не так.

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

catch {...} errMsg
set savedInfo $::errorInfo
	...
error $errMsg $savedInfo

При работе с Tcl 8.5 или более поздней версией следует использовать следующий код:

catch {...} errMsg options
	...
return -options $options $errMsg

Если аргумент код присутствует, его значение сохраняется в опции возврата -errorcode. Опция возврата -errorcode предназначена для хранения машиночитаемого описания ошибки в тех случаях, когда такая информация доступна; см. руководство по команде return для получения информации о правильном формате значения этой опции.

Пример

Сгенерировать ошибку, если базовое математическое действие завершается неудачей:
if {1+2 != 3} {
    error "something is very wrong with addition"
}

См. также

catch, return

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/error.htm

Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/error.htm

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API