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


       error - Generate an error


       error message ?info? ?code?


       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.


       Generate an error if a basic mathematical operation fails:
              if {1+2 != 3} {
                  error "something is very wrong with addition"


       catch(3tcl), return(3tcl), tclvars(3tcl)


       error, errorCode, errorInfo