diff options
Diffstat (limited to 'tcl8.6/doc/exit.n')
-rw-r--r-- | tcl8.6/doc/exit.n | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tcl8.6/doc/exit.n b/tcl8.6/doc/exit.n new file mode 100644 index 0000000..9b4ad20 --- /dev/null +++ b/tcl8.6/doc/exit.n @@ -0,0 +1,51 @@ +'\" +'\" Copyright (c) 1993 The Regents of the University of California. +'\" Copyright (c) 1994-1996 Sun Microsystems, Inc. +'\" +'\" See the file "license.terms" for information on usage and redistribution +'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES. +'\" +.TH exit n "" Tcl "Tcl Built-In Commands" +.so man.macros +.BS +'\" Note: do not modify the .SH NAME line immediately below! +.SH NAME +exit \- End the application +.SH SYNOPSIS +\fBexit \fR?\fIreturnCode\fR? +.BE + +.SH DESCRIPTION +.PP +Terminate the process, returning \fIreturnCode\fR to the +system as the exit status. +If \fIreturnCode\fR is not specified then it defaults +to 0. +.SH EXAMPLE +.PP +Since non-zero exit codes are usually interpreted as error cases by +the calling process, the \fBexit\fR command is an important part of +signaling that something fatal has gone wrong. This code fragment is +useful in scripts to act as a general problem trap: +.PP +.CS +proc main {} { + # ... put the real main code in here ... +} + +if {[catch {main} msg options]} { + puts stderr "unexpected script error: $msg" + if {[info exists env(DEBUG)]} { + puts stderr "---- BEGIN TRACE ----" + puts stderr [dict get $options -errorinfo] + puts stderr "---- END TRACE ----" + } + + # Reserve code 1 for "expected" error exits... + \fBexit\fR 2 +} +.CE +.SH "SEE ALSO" +exec(n) +.SH KEYWORDS +abort, exit, process |