[Python-ideas] except expression
Nathan Schneider
nathan at cmu.edu
Thu Feb 13 20:04:59 CET 2014
On Thu, Feb 13, 2014 at 1:47 PM, spir <denis.spir at gmail.com> wrote:
> On 02/13/2014 07:43 PM, Amber Yust wrote:
>
>> Actually. What if we just reused 'try'?
>>
>> foo = bar() except BazException try 'qux'
>>
>> This also leads naturally to chaining multiple possible fallbacks:
>>
>> foo = bar() except BarException try baz() except BazException try
>> None
>>
>
> I like it. Especially because 'try' already works with 'except'. (But note
> that 'try', like my proposal of 'then', normally introduces a block).
>
>
This strikes me as counterintuitive because it is inconsistent: 'bar()' is
being tried, but does not follow 'try', while the others do. And then the
'try None' has no corresponding 'except'.
Suggestion: an expression like
foo = (try bar() except BarException)
that defaults to None if the exception is caught. This could then be
chained with 'or':
foo = (try bar() except BarException) or (try baz() except BazException)
as distinguished from
foo = (try bar() except BarException) or baz()
which does not do any exception handling for baz().
(Apologies if something like this has been proposed above; I could not find
it from skimming the thread.)
Nathan
>
> d
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140213/daf366fe/attachment.html>
More information about the Python-ideas
mailing list