Rewrote the section on sys.exit(), documenting other argument types

than integers and recommending sys.exit("message").
(I see this as Python's answer to Perls ``die "message";''.)
This commit is contained in:
Guido van Rossum 1998-11-23 17:49:53 +00:00
parent 0320473a29
commit 04307ce789
1 changed files with 18 additions and 6 deletions

View File

@ -98,12 +98,24 @@ A string giving the name of the executable binary for the Python
interpreter, on systems where this makes sense. interpreter, on systems where this makes sense.
\end{datadesc} \end{datadesc}
\begin{funcdesc}{exit}{n} \begin{funcdesc}{exit}{\optional{arg}}
Exit from Python with numeric exit status \var{n}. This is Exit from Python. This is implemented by raising the
implemented by raising the \exception{SystemExit} exception, so cleanup \exception{SystemExit} exception, so cleanup actions specified by
actions specified by finally clauses of \keyword{try} statements finally clauses of \keyword{try} statements are honored, and it is
are honored, and it is possible to catch the exit attempt at an outer possible to intercept the exit attempt at an outer level. The
level. optional argument \var{arg} can be an integer giving the exit status
(defaulting to zero), or another type of object. If it is an integer,
zero is considered ``successful termination'' and any nonzero value is
considered ``abnormal termination'' by shells and the like. Most
systems require it to be in the range 0-127, and produce undefined
results otherwise. Some systems have a convention for assigning
specific meanings to specific exit codes, but these are generally
underdeveloped; Unix programs generally use 2 for command line syntax
errors and 1 for all other kind of errors. If another type of object
is passed, \code{None} is equivalent to passing zero, and any other
object is printed to \code{sys.stderr} and results in an exit code of
1. In particular, \code{sys.exit("some error message")} is a quick
way to exit a program when an error occurs.
\end{funcdesc} \end{funcdesc}
\begin{datadesc}{exitfunc} \begin{datadesc}{exitfunc}