`yield` in a `try/finally` block, pre-Python 2.5

Adam Atlas adam at atlas.st
Mon Jun 4 01:23:25 EDT 2007


I'm trying to emulate the Python 2.5 behaviour (PEP 342) of generator
functions where the `yield` statement is in a `try/finally` block.
Basically, where the `finally` block is guaranteed to run even if the
generator doesn't finish running: it simply runs when the generator is
garbage-collected. Does anyone know a good way of doing this? I'm
looking to see if there's a way to bring about an exception in another
frame in pure Python, but I haven't found anything yet.




More information about the Python-list mailing list