Skip to content

Commit b9ab878

Browse files
committed
raise_from(): set __suppress_context__ correctly as per PEP 0415.
1 parent ded92ee commit b9ab878

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

future/utils/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,12 +422,16 @@ def raise_from(exc, cause):
422422
# exec(execstr, myglobals, mylocals)
423423
else:
424424
e = exc
425+
e.__suppress_context__ = False
425426
if isinstance(cause, type) and issubclass(cause, Exception):
426427
e.__cause__ = cause()
428+
e.__suppress_context__ = True
427429
elif cause is None:
428430
e.__cause__ = None
431+
e.__suppress_context__ = True
429432
elif isinstance(cause, BaseException):
430433
e.__cause__ = cause
434+
e.__suppress_context__ = True
431435
else:
432436
raise TypeError("exception causes must derive from BaseException")
433437
e.__context__ = sys.exc_info()[1]

0 commit comments

Comments
 (0)