You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
441 B
25 lines
441 B
4 years ago
|
# outer generator ignores a thrown GeneratorExit (this is allowed)
|
||
|
|
||
|
def gen():
|
||
|
try:
|
||
|
yield 123
|
||
|
except GeneratorExit:
|
||
|
print('GeneratorExit')
|
||
|
|
||
|
def gen2():
|
||
|
try:
|
||
|
yield from gen()
|
||
|
except GeneratorExit:
|
||
|
print('GeneratorExit outer')
|
||
|
yield 789
|
||
|
|
||
|
# thrown a class
|
||
|
g = gen2()
|
||
|
print(next(g))
|
||
|
print(g.throw(GeneratorExit))
|
||
|
|
||
|
# thrown an instance
|
||
|
g = gen2()
|
||
|
print(next(g))
|
||
|
print(g.throw(GeneratorExit()))
|