Vermeiden Sie "Ausnahme ignoriert" in Python Enhanced Generator

Ich habe eine Coroutine (Enhanced Generators) in Python mit etwas Code, der nach dem Ende der Daten ausgeführt werden soll:

def mycoroutine():
  try:
    while True:
      data = (yield)
      print data
  finally:
    raise ValueError
    print "END"

co = mycoroutine()
co.next()

for i in (1,2,3):
  co.send(i)

DasValueError Ausnahme wird nicht ausgelöst, aber der Interpreter gibt einfach aus:

Exception ValueError: ValueError() in <generator object mycoroutine at 0x2b59dfa23d20> ignored

Gibt es eine Möglichkeit, die Ausnahme im Anrufer abzufangen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage