NAME¶
error - Generate an error
SYNOPSIS¶
error message ?
info? ?
code?
DESCRIPTION¶
Returns a
TCL_ERROR code, which causes command interpretation to be
unwound.
Message is a string that is returned to the application to
indicate what went wrong.
If the
info argument is provided and is non-empty, it is used to
initialize the global variable
errorInfo.
errorInfo is used to
accumulate a stack trace of what was in progress when an error occurred; as
nested commands unwind, the Tcl interpreter adds information to
errorInfo. If the
info argument is present, it is used to
initialize
errorInfo and the first increment of unwind information will
not be added by the Tcl interpreter. In other words, the command containing
the
error command will not appear in
errorInfo; in its place
will be
info. This feature is most useful in conjunction with the
catch command: if a caught error cannot be handled successfully,
info can be used to return a stack trace reflecting the original point
of occurrence of the error:
catch {...} errMsg
set savedInfo $errorInfo
...
error $errMsg $savedInfo
If the
code argument is present, then its value is stored in the
errorCode global variable. This variable is intended to hold a
machine-readable description of the error in cases where such information is
available; see the
tclvars manual page for information on the proper
format for the variable. If the
code argument is not present, then
errorCode is automatically reset to ``NONE'' by the Tcl interpreter as
part of processing the error generated by the command.
EXAMPLE¶
Generate an error if a basic mathematical operation fails:
if {1+2 != 3} {
error "something is very wrong with addition"
}
SEE ALSO¶
catch(3tcl), return(3tcl), tclvars(3tcl)
KEYWORDS¶
error, errorCode, errorInfo