Site hosted by Angelfire.com: Build your free website today!
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
  % proc dummy i {
      error "$i received error generated"
    }
  
  % dummy 6
  6 received error generated
  
  % puts $errorInfo
  6 received error generated
      while executing
  "error "$i received error generated""
      (procedure "dummy" line 1)
      invoked from within
  "dummy 6"  

SEE ALSO
  catch tclvars