[3.6] Clarify exception handler scope in contextlib (GH-1103)

Moved explicit raise from inside try to try...else.
(cherry picked from commit 680e20beee)
This commit is contained in:
Mariatta 2017-04-12 20:52:39 -07:00 committed by GitHub
parent bc9025012f
commit bd1173f202

View file

@ -98,7 +98,6 @@ class _GeneratorContextManager(ContextDecorator, AbstractContextManager):
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
@ -124,6 +123,8 @@ class _GeneratorContextManager(ContextDecorator, AbstractContextManager):
#
if sys.exc_info()[1] is not value:
raise
else:
raise RuntimeError("generator didn't stop after throw()")
def contextmanager(func):