mirror of
https://github.com/python/cpython.git
synced 2025-09-11 03:07:01 +00:00
Fix SF#1462485: StopIteration raised in body of 'with' statement suppressed
This commit is contained in:
parent
9161a0d8da
commit
9444bd51c4
2 changed files with 59 additions and 1 deletions
|
@ -32,7 +32,9 @@ class GeneratorContextManager(object):
|
|||
self.gen.throw(type, value, traceback)
|
||||
raise RuntimeError("generator didn't stop after throw()")
|
||||
except StopIteration:
|
||||
return True
|
||||
# Supress the exception unless it's the same exception the
|
||||
# was passed to throw().
|
||||
return sys.exc_info()[1] is not value
|
||||
except:
|
||||
# only re-raise if it's *not* the exception that was
|
||||
# passed to throw(), because __exit__() must not raise
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue