@@ -180,19 +180,25 @@ always available.
180180
181181 Exit from Python. This is implemented by raising the :exc: `SystemExit `
182182 exception, so cleanup actions specified by finally clauses of :keyword: `try `
183- statements are honored, and it is possible to intercept the exit attempt at an
184- outer level. The optional argument *arg * can be an integer giving the exit
185- status (defaulting to zero), or another type of object. If it is an integer,
186- zero is considered "successful termination" and any nonzero value is considered
187- "abnormal termination" by shells and the like. Most systems require it to be in
188- the range 0-127, and produce undefined results otherwise. Some systems have a
189- convention for assigning specific meanings to specific exit codes, but these are
190- generally underdeveloped; Unix programs generally use 2 for command line syntax
191- errors and 1 for all other kind of errors. If another type of object is passed,
192- ``None `` is equivalent to passing zero, and any other object is printed to
193- ``sys.stderr `` and results in an exit code of 1. In particular,
194- ``sys.exit("some error message") `` is a quick way to exit a program when an
195- error occurs.
183+ statements are honored, and it is possible to intercept the exit attempt at
184+ an outer level.
185+
186+ The optional argument *arg * can be an integer giving the exit status
187+ (defaulting to zero), or another type of object. If it is an integer, zero
188+ is considered "successful termination" and any nonzero value is considered
189+ "abnormal termination" by shells and the like. Most systems require it to be
190+ in the range 0-127, and produce undefined results otherwise. Some systems
191+ have a convention for assigning specific meanings to specific exit codes, but
192+ these are generally underdeveloped; Unix programs generally use 2 for command
193+ line syntax errors and 1 for all other kind of errors. If another type of
194+ object is passed, ``None `` is equivalent to passing zero, and any other
195+ object is printed to :data: `stderr ` and results in an exit code of 1. In
196+ particular, ``sys.exit("some error message") `` is a quick way to exit a
197+ program when an error occurs.
198+
199+ Since :func: `exit ` ultimately "only" raises an exception, it will only exit
200+ the process when called from the main thread, and the exception is not
201+ intercepted.
196202
197203
198204.. data :: flags
0 commit comments