trusty (3) error.3tcl.gz

Provided by: tcl8.4-doc_8.4.20-7_all bug

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