gen_yield_from_throw2.py 331 B

123456789101112131415161718
  1. # generator ignores a thrown GeneratorExit (this is allowed)
  2. def gen():
  3. try:
  4. yield 123
  5. except GeneratorExit:
  6. print('GeneratorExit')
  7. yield 456
  8. # thrown a class
  9. g = gen()
  10. print(next(g))
  11. print(g.throw(GeneratorExit))
  12. # thrown an instance
  13. g = gen()
  14. print(next(g))
  15. print(g.throw(GeneratorExit()))