Message226252
ExceptionChainingTest uses a function to raise an arbitrary exception. Problem: the function and its parameter becomes part of the exception traceback. Shortly, the exception links indirectly to itself in a nice reference cycle...
Example:
---
import traceback
class Err(Exception):
def __del__(self):
print("del")
def raise_exc(exc):
raise exc
e = Err()
try:
raise_exc(e)
except Exception as e:
t = e.__traceback__
#traceback.clear_frames(t)
e = None
print("exit")
---
Uncommand the call the clear_frames() to see the exception deleted before the exit. |
|
| Date |
User |
Action |
Args |
| 2014-09-02 00:19:18 | vstinner | set | recipients:
+ vstinner, brett.cannon, ncoghlan, zach.ware |
| 2014-09-02 00:19:18 | vstinner | set | messageid: <[email protected]> |
| 2014-09-02 00:19:18 | vstinner | link | issue22166 messages |
| 2014-09-02 00:19:17 | vstinner | create | |
|