NAME
       error - Generate an error

SYNOPSIS
       error message ?info? ?code?


DESCRIPTION
       Returns a TCL_ERROR code, which causes command interpreta-
       tion 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.   error-
       Info  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 for-
       mat  for  the  variable.  If the code argument is not pre-
       sent, then errorCode is automatically reset to ``NONE'' by
       the Tcl interpreter as part of processing the error gener-
       ated by the command.


KEYWORDS
       error, errorCode, errorInfo
