Provided by: tcl8.6-doc_8.6.13+dfsg-2_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.

       The -errorinfo return option of an interpreter 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 the -errorinfo return option.  If the info argument is present, it  is
       used  to  initialize  the  -errorinfo  return  options  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 the stack trace; in its place will be
       info.  Historically, this feature had been 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

       When working with Tcl 8.5 or later, the following code should be used instead:

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

       If the code argument is present, then its value is stored in the -errorcode return option.
       The  -errorcode  return  option  is intended to hold a machine-readable description of the
       error in cases where such information  is  available;  see  the  return  manual  page  for
       information on the proper format for this option's value.

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)

KEYWORDS

       error, exception