diff --git a/src/future/utils/__init__.py b/src/future/utils/__init__.py index 59920077..7282a9cf 100644 --- a/src/future/utils/__init__.py +++ b/src/future/utils/__init__.py @@ -473,7 +473,7 @@ def raise_from(exc, cause): e.__suppress_context__ = True elif isinstance(cause, BaseException): e.__cause__ = cause - e.__cause__.__traceback__ = sys.exc_info()[2] + object.__setattr__(e.__cause__, '__traceback__', sys.exc_info()[2]) e.__suppress_context__ = True else: raise TypeError("exception causes must derive from BaseException")