mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
- New function sys.exc_clear() clears the current exception. This is
rarely needed, but can sometimes be useful to release objects referenced by the traceback held in sys.exc_info()[2]. (SF patch #693195.) Thanks to Kevin Jacobs!
This commit is contained in:
parent
d1a283be26
commit
46d3dc37e4
5 changed files with 116 additions and 12 deletions
|
|
@ -99,6 +99,11 @@ It is always available.
|
|||
encapsulates the call stack at the point where the exception
|
||||
originally occurred. \obindex{traceback}
|
||||
|
||||
If \function{exc_clear()} is called, this function will return three
|
||||
\code{None} values until either another exception is raised in the
|
||||
current thread or the execution stack returns to a frame where
|
||||
another exception is being handled.
|
||||
|
||||
\warning{Assigning the \var{traceback} return value to a
|
||||
local variable in a function that is handling an exception will
|
||||
cause a circular reference. This will prevent anything referenced
|
||||
|
|
@ -115,6 +120,21 @@ It is always available.
|
|||
efficient to avoid creating cycles.}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{exc_clear}{}
|
||||
This function clears all information relating to the current or last
|
||||
exception that occured in the current thread. After calling this
|
||||
function, \function{exc_info()} will return three \code{None} values until
|
||||
another exception is raised in the current thread or the execution stack
|
||||
returns to a frame where another exception is being handled.
|
||||
|
||||
This function is only needed in only a few obscure situations. These
|
||||
include logging and error handling systems that report information on the
|
||||
last or current exception. This function can also be used to try to free
|
||||
resources and trigger object finalization, though no guarantee is made as
|
||||
to what objects will be freed, if any.
|
||||
\versionadded{2.3}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{datadesc}{exc_type}
|
||||
\dataline{exc_value}
|
||||
\dataline{exc_traceback}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue