52 lines
1.3 KiB
Plaintext
52 lines
1.3 KiB
Plaintext
'\"
|
|
'\" 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
|