By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
439,942 Members | 1,788 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 439,942 IT Pros & Developers. It's quick & easy.

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

P: n/a
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.

Jun 4 '07 #1
Share this Question
Share on Google+
2 Replies


P: n/a

I had the same problem, you can see: http://aspn.activestate.com/ASPN/Coo.../Recipe/130004
for a solution.

Happy hacking,

Yuce

On Jun 4, 8:23 am, Adam Atlas <a...@atlas.stwrote:
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.

Jun 4 '07 #2

P: n/a
On Jun 4, 1:49 am, yuce <yucete...@gmail.comwrote:
I had the same problem, you can see:http://aspn.activestate.com/ASPN/Coo.../Recipe/130004
for a solution.

Happy hacking,

Yuce
Thanks. I thought of doing something like that, but in my program,
it's important that the order follow the actual nesting order. That
is, I have a few nested generator each of which has its own 'finally',
and I need the innermost ones to run first. How can I deal with that?

Jun 4 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.