diff options
author | Georg Brandl <georg@python.org> | 2010-10-17 10:51:45 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-10-17 10:51:45 (GMT) |
commit | 6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d (patch) | |
tree | 7af9670e76222c123437cd1aed4ff95fb9f60c8c /Doc/library/sys.rst | |
parent | a192828ea138189b9abfbe3912c62e8c0bb4319f (diff) | |
download | cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.zip cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.tar.gz cpython-6f4e68d82c2009c2a297f25a8a4896f0d1a8e66d.tar.bz2 |
#5962: clarify sys.exit() vs. threads.
Diffstat (limited to 'Doc/library/sys.rst')
-rw-r--r-- | Doc/library/sys.rst | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index 7b44c86..6540311 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -180,19 +180,25 @@ always available. Exit from Python. This is implemented by raising the :exc:`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 *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, - ``None`` is equivalent to passing zero, and any other object is printed to - ``sys.stderr`` and results in an exit code of 1. In particular, - ``sys.exit("some error message")`` is a quick way to exit a program when an - error occurs. + statements are honored, and it is possible to intercept the exit attempt at + an outer level. + + The optional argument *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, ``None`` is equivalent to passing zero, and any other + object is printed to :data:`stderr` and results in an exit code of 1. In + particular, ``sys.exit("some error message")`` is a quick way to exit a + program when an error occurs. + + Since :func:`exit` ultimately "only" raises an exception, it will only exit + the process when called from the main thread, and the exception is not + intercepted. .. data:: flags |