diff --git a/Doc/lib/libsys.tex b/Doc/lib/libsys.tex index eadd9785d6f..76b54a3fc1a 100644 --- a/Doc/lib/libsys.tex +++ b/Doc/lib/libsys.tex @@ -98,12 +98,24 @@ A string giving the name of the executable binary for the Python interpreter, on systems where this makes sense. \end{datadesc} -\begin{funcdesc}{exit}{n} - Exit from Python with numeric exit status \var{n}. This is - implemented by raising the \exception{SystemExit} exception, so cleanup - actions specified by finally clauses of \keyword{try} statements - are honored, and it is possible to catch the exit attempt at an outer - level. +\begin{funcdesc}{exit}{\optional{arg}} +Exit from Python. This is implemented by raising the +\exception{SystemExit} exception, so cleanup actions specified by +finally clauses of \keyword{try} statements are honored, and it is +possible to intercept the exit attempt at an outer level. The +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} \begin{datadesc}{exitfunc}