[3.5] Clarify exception handler scope in contextlib (GH-1104)

Moved explicit raise from inside try to try...else.
(cherry picked from commit 680e20beee)
This commit is contained in:
Mariatta 2017-04-12 21:05:25 -07:00 committed by GitHub
parent f3972dd1c1
commit c0f4240fac

View file

@ -75,7 +75,6 @@ class _GeneratorContextManager(ContextDecorator):
value = type()
try:
self.gen.throw(type, value, traceback)
raise RuntimeError("generator didn't stop after throw()")
except StopIteration as exc:
# Suppress StopIteration *unless* it's the same exception that
# was passed to throw(). This prevents a StopIteration
@ -101,6 +100,8 @@ class _GeneratorContextManager(ContextDecorator):
#
if sys.exc_info()[1] is not value:
raise
else:
raise RuntimeError("generator didn't stop after throw()")
def contextmanager(func):