A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2009-March/087241.html below:

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

[Python-Dev] PEP 377 - allow __enter__() methods to skip the statement body [Python-Dev] PEP 377 - allow __enter__() methods to skip the statement bodyMichael Foord fuzzyman at voidspace.org.uk
Sun Mar 15 23:37:11 CET 2009
Aahz wrote:
> 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.
>   
Well, StopIteration is still an implementation detail that only 
occasionally bleeds through to actual programming. It says nothing about 
whether using exceptions for non-exceptional circumstances (control 
flow) is good practise. Personally I think it makes the intent of code 
less easy to understand - in effect the exceptions *are* being used as a 
goto.

Michael

-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog


More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4