Evite "exceção ignorada" no gerador aprimorado python
Eu tenho uma co-rotina (geradores avançados) em python com algum código a ser executado após o final dos dados:
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)
oValueError
exceção não é levantada, mas o interpretador simplesmente imprime:
Exception ValueError: ValueError() in <generator object mycoroutine at 0x2b59dfa23d20> ignored
Existe uma maneira de capturar a exceção no chamador?