Message343247
In PR 13490, Thomas Grainger proposed a cool context manager:
@contextlib.contextmanager
def throw_unraisable_exceptions():
unraisable = None
old_hook = sys.unraisablehook
def hook(exc):
nonlocal unraisable
unraisable = exc
sys.unraisablehook = hook
try:
yield
if unraisable is not None:
raise unraisable
finally:
unraisable = None
sys.unraisablehook = old_hook
It allows to raise an unraisable exception :-D Example:
try:
with support.throw_unraisable_exceptions():
...
except Exception as e:
... # the exception is now here
I don't need such context manager right now, but I like the fact that it becomes possible to write such context manager :-) |
|
Date |
User |
Action |
Args |
2019-05-22 21:45:57 | vstinner | set | recipients:
+ vstinner, serhiy.storchaka, graingert, matrixise, ZackerySpytz |
2019-05-22 21:45:57 | vstinner | set | messageid: <1558561557.16.0.219529956893.issue36829@roundup.psfhosted.org> |
2019-05-22 21:45:57 | vstinner | link | issue36829 messages |
2019-05-22 21:45:57 | vstinner | create | |
|