[Python-Dev] PEP 340: Breaking out.
Delaney, Timothy C (Timothy)
tdelaney at avaya.com
Fri May 6 04:05:05 CEST 2005
Greg Ewing wrote:
> Seems to me it should be up to the block iterator whether
> a break statement gets caught or propagated, since it's
> up to the block iterator whether the construct behaves
> like a loop or not.
> This could be achieved by having a separate exception
> for breaks, as originally proposed.
> If the iterator propagates the Break exception back out,
> the block statement should break any enclosing loop.
> If the iterator wants to behave like a loop, it can
> catch the Break exception and raise StopIteration
In this scenario (and I'm not saying I approve or disapprove) I think
BreakIteration should inherit from StopIteration (thus retaining the
existing PEP 340 semantics if uncaught)::
I think no matter what it would be useful to be able to separate a break
from a stop sometimes, but there are many cases where they are the same
More information about the Python-Dev