generator_pend_throw.py 407 B

12345678910111213141516171819202122232425262728293031
  1. def gen():
  2. i = 0
  3. while 1:
  4. yield i
  5. i += 1
  6. g = gen()
  7. try:
  8. g.pend_throw
  9. except AttributeError:
  10. print("SKIP")
  11. raise SystemExit
  12. print(next(g))
  13. print(next(g))
  14. g.pend_throw(ValueError())
  15. v = None
  16. try:
  17. v = next(g)
  18. except Exception as e:
  19. print("raised", repr(e))
  20. print("ret was:", v)
  21. try:
  22. gen().pend_throw(ValueError())
  23. except TypeError:
  24. print("TypeError")