[Python-3000] Exception Expressions
Brett Cannon
brett at python.org
Fri Sep 1 00:18:17 CEST 2006
On 8/31/06, Calvin Spealman <ironfroggy at gmail.com> wrote:
>
> On 8/31/06, Brett Cannon <brett at python.org> wrote:
> > So this feels like the Perl idiom of using die: ``open(file) or die``
> (or
> > something like that; I have never been a Perl guy so I could be off).
> >
> > > ...
> >
> > The problem I have with this whole proposal is that catching exceptions
> > should be very obvious in the source code. This proposal does not help
> with
> > that ideal. So I am -1 on the whole idea.
> >
> > -Brett
>
> "Ouch" on the associated my idea with perl!
=) The truth hurts.
Although I agree that it is good to be obvious about exceptions, there
> are some cases when they are simply less than exceptional. For
> example, you can do d.get(key, default) if you know something is a
> dictionary, but for general mappings you can't rely on that, and may
> often use exceptions as a kind of logic control. No, that doesn't sync
> with the purity of exceptions, but sometimes practicality and
> real-world usage trumps theory.
Practically most definitely beats purity, but I don't see the practicality
of this over what we already have.
Only allowing a single expression, it shouldn't be able to get ugly.
Famous last words. Remember a big argument against the 'if' expressions was
about them getting too unwieldly in terms of length and obscuring the fact
that it is a conditional. I have used 'if' expressions and they have been
hard to keep very readable unless you are willing to use parentheses and
make them unreadable. I would be afraid of this happening here, but to an
even more important construct that should always be easy to spot in source
code.
-Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-3000/attachments/20060831/f41c8b7d/attachment.htm
More information about the Python-3000
mailing list