STINNER Victor <[email protected]> added the comment:
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 :-)
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue36829>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com