diff options
Diffstat (limited to 'contrib/python/contextlib2')
| -rw-r--r-- | contrib/python/contextlib2/py3/contextlib2/__init__.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/contrib/python/contextlib2/py3/contextlib2/__init__.py b/contrib/python/contextlib2/py3/contextlib2/__init__.py index d6c0c4ac4af..63ecced65a4 100644 --- a/contrib/python/contextlib2/py3/contextlib2/__init__.py +++ b/contrib/python/contextlib2/py3/contextlib2/__init__.py @@ -177,8 +177,10 @@ class _GeneratorContextManager(_GeneratorContextManagerBase, # Need to force instantiation so we can reliably # tell if we get the same exception back value = type() + if traceback is not None: + value = value.with_traceback(traceback) try: - self.gen.throw(type, value, traceback) + self.gen.throw(value) except StopIteration as exc: # Suppress StopIteration *unless* it's the same exception that # was passed to throw(). This prevents a StopIteration |
