On 02/21/2014 02:26 PM, Eric V. Smith wrote:
On 2/21/2014 5:06 PM, Greg Ewing wrote:
On 21 February 2014 13:15, Chris Angelico wrote:

Generator expressions require parentheses, unless they would be
strictly redundant.  Ambiguities with except expressions could be
resolved in the same way, forcing nested except-in-except trees to be
correctly parenthesized

There would be no ambiguity if only nested excepts are allowed. If one wants to catch multiple exceptions from one expression, /and do something different for each one/, use the statement form as it's going to be clearer. For example:

   try:
       value = 1/x
   except ZeroDivisionError:
       try:
           value = 1/default['denominator']
       except KeyError:
           value = NaN

is much cleaner as:

   value = 1/x except ZeroDivisionError: 1/default['denominator'] except 
KeyError: NaN

However, this:

   try:
      result = Parse(some_stuff)
   except MissingOperator:
      result = ...
   except InvalidOperand:
      result = ...
   except SomethingElse:
      result = ...

would not benefit from being condensed into a single expression

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to