diff options
Diffstat (limited to 'Doc/library/sys.rst')
-rw-r--r-- | Doc/library/sys.rst | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst index f66899c..0929f0e 100644 --- a/Doc/library/sys.rst +++ b/Doc/library/sys.rst @@ -152,21 +152,18 @@ always available. .. warning:: - Assigning the *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 by a local variable in the same function or by the traceback - from being garbage collected. Since most functions don't need access to the - traceback, the best solution is to use something like ``exctype, value = - sys.exc_info()[:2]`` to extract only the exception type and value. If you do - need the traceback, make sure to delete it after use (best done with a - :keyword:`try` ... :keyword:`finally` statement) or to call :func:`exc_info` in - a function that does not itself handle an exception. - - .. note:: - - Beginning with Python 2.2, such cycles are automatically reclaimed when garbage - collection is enabled and they become unreachable, but it remains more efficient - to avoid creating cycles. + Assigning the *traceback* return value to a local variable in a function + that is handling an exception will cause a circular reference. Since most + functions don't need access to the traceback, the best solution is to use + something like ``exctype, value = sys.exc_info()[:2]`` to extract only the + exception type and value. If you do need the traceback, make sure to + delete it after use (best done with a :keyword:`try` + ... :keyword:`finally` statement) or to call :func:`exc_info` in a + function that does not itself handle an exception. + + Such cycles are normally automatically reclaimed when garbage collection + is enabled and they become unreachable, but it remains more efficient to + avoid creating cycles. .. data:: exec_prefix |