What c.l.py's opinions about Soft Exception?
castironpi at gmail.com
castironpi at gmail.com
Fri Mar 21 10:07:33 EDT 2008
On Mar 11, 2:30 pm, Lie <Lie.1... at gmail.com> wrote:
> On Mar 12, 12:00 am, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
>
> > Actually, the latter is even less cluttered, misses a raise - if pure number
> > of literals is your metric, that is.
>
> You don't just compare by the calling code, you've got to compare also
> by the surrounding codes. The calling codes in SE might be a little
> bit messy, but it worths by making the code surrounding it more clean
> and structured. And anyway, if you used Context Object callback, they
> will be as messy as each other.
>
> > You didn't understand my example. If there is a handler registered, it will
> > be invoked. If not, nothing will be raised. The exact same amount of
> > state-keeping and lookups needs to be done by the SE-implementation.
>
> I do understand your example. And even if I misunderstood you about
> passing context object, the same problem still exists in context
> object based solution, i.e. functions can't make the called function
> break automatically, it must be 'break' manually or the program will
> go astray (break ==> return, sorry I confused it with break for
> loops). And if you used InterruptException to break, it doesn't play
> well with multiple SoftExceptions.
Are you interested in yielding an object? In situ, a routine has
extra information it wants to return to the caller. Can you protocol
a number of yields? Discard x for x in operation()[:3]; x=
operation(). Or, x= operation()[3], and go back and look operation()
[1], which is cached.
More information about the Python-list
mailing list