49 lines
2.5 KiB
HTML
49 lines
2.5 KiB
HTML
|
<HTML><HEAD><TITLE>Built-In Commands - error manual page</TITLE></HEAD><BODY>
|
||
|
<H3><A NAME="M2">NAME</A></H3>
|
||
|
error - Generate an error
|
||
|
<H3><A NAME="M3">SYNOPSIS</A></H3>
|
||
|
<B>error </B><I>message</I> ?<I>info</I>? ?<I>code</I>?<BR>
|
||
|
<H3><A NAME="M4">DESCRIPTION</A></H3>
|
||
|
Returns a TCL_ERROR code, which causes command interpretation to be
|
||
|
unwound. <I>Message</I> is a string that is returned to the application
|
||
|
to indicate what went wrong.
|
||
|
<P>
|
||
|
If the <I>info</I> argument is provided and is non-empty,
|
||
|
it is used to initialize the global variable <B>errorInfo</B>.
|
||
|
<B>errorInfo</B> 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 <B>errorInfo</B>. If the
|
||
|
<I>info</I> argument is present, it is used to initialize
|
||
|
<B>errorInfo</B> and the first increment of unwind information
|
||
|
will not be added by the Tcl interpreter. In other
|
||
|
words, the command containing the <B>error</B> command will not appear
|
||
|
in <B>errorInfo</B>; in its place will be <I>info</I>.
|
||
|
This feature is most useful in conjunction with the <B><A HREF="../TkCmd/catch.htm">catch</A></B> command:
|
||
|
if a caught error cannot be handled successfully, <I>info</I> can be used
|
||
|
to return a stack trace reflecting the original point of occurrence
|
||
|
of the error:
|
||
|
<PRE><B>catch {...} errMsg
|
||
|
set savedInfo $errorInfo
|
||
|
...
|
||
|
error $errMsg $savedInfo</B></PRE>
|
||
|
<P>
|
||
|
If the <I>code</I> argument is present, then its value is stored
|
||
|
in the <B>errorCode</B> global variable. This variable is intended
|
||
|
to hold a machine-readable description of the error in cases where
|
||
|
such information is available; see the <B><A HREF="../TkCmd/tclvars.htm">tclvars</A></B> manual
|
||
|
page for information on the proper format for the variable.
|
||
|
If the <I>code</I> argument is not
|
||
|
present, then <B>errorCode</B> is automatically reset to
|
||
|
``NONE'' by the Tcl interpreter as part of processing the
|
||
|
error generated by the command.
|
||
|
|
||
|
<H3><A NAME="M5">SEE ALSO</A></H3>
|
||
|
<B><A HREF="../TkCmd/catch.htm">catch</A></B>, <B><A HREF="../TkCmd/tclvars.htm">tclvars</A></B>
|
||
|
<H3><A NAME="M6">KEYWORDS</A></H3>
|
||
|
<A href="../Keywords/E.htm#error">error</A>, <A href="../Keywords/E.htm#errorCode">errorCode</A>, <A href="../Keywords/E.htm#errorInfo">errorInfo</A>
|
||
|
<HR><PRE>
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1993 The Regents of the University of California.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1994-1996 Sun Microsystems, Inc.
|
||
|
<A HREF="../copyright.htm">Copyright</A> © 1995-1997 Roger E. Critchlow Jr.</PRE>
|
||
|
</BODY></HTML>
|