[Python-Dev] PEP 377 - allow __enter__() methods to skip the statement body

Aahz aahz at pythoncraft.com
Sun Mar 15 23:30:16 CET 2009

On Sun, Mar 15, 2009, Michael Foord wrote:
> Note that using exceptions for control flow can  be bad for other  
> implementations of Python. For example exceptions on the .NET framework  
> are very expensive. (Although there are workarounds such as not really  
> raising the exception - but they're ugly).
> Isn't it better practise for exceptions to be used for exceptional  
> circumstances rather than for control flow?

It seems to me that we as a development community already made a decision
when we switched to StopIteration as the primary mechanism for halting
``for`` loops.  (Not that it was really a new decision because parts of
the Python community have always advocated using exceptions for control
flow, but the ``for`` loop enshrines it.)  I doubt that using exceptions
for control flow in ``with`` blocks will cause anywhere near so much a
performance degradation.
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

Adopt A Process -- stop killing all your children!

More information about the Python-Dev mailing list