[Python-3000] Exception Expressions
Jim Jewett
jimjjewett at gmail.com
Fri Sep 1 16:24:42 CEST 2006
On 8/31/06, Brett Cannon <brett at python.org> wrote:
> 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``
> > "Ouch" on the associated my idea with perl!
> =) The truth hurts.
Isn't this almost the opposite of "or die"? Unless I'm having a very
bad day, the die idiom is more like a SystemExit, but this proposal is
a way to recover from expected Exceptions.
> func(ags) || die(msg)
means
>>> if not func(args):
... raise SystemExit(msg)
This proposal, with the "a non-dict mapping might not have get" use case:
>>> ((mymap[k] except KeyError then default) for key in source)
means
>>> def __temp():
... for element in source:
... try:
... v=mymap[k]
... except KeyError:
... v=default
... yield v
>>> __temp()
-jJ
More information about the Python-3000
mailing list