1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
# Test generator .throw() with multiple arguments.
# Using multiple arguments is deprecated since CPython 3.12.
# Generator ignores a thrown GeneratorExit (this is allowed).
def gen():
try:
yield 123
except GeneratorExit as e:
print("GeneratorExit", repr(e.args))
yield 456
# Thrown an instance with None as second arg.
g = gen()
print(next(g))
print(g.throw(GeneratorExit(), None))
# Thrown a class and instance.
g = gen()
print(next(g))
print(g.throw(GeneratorExit, GeneratorExit(123)))
|