On Fri, Feb 28, 2014 at 10:33 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:
On 28 Feb 2014 05:56, "Chris Angelico" <rosuav@gmail.com> wrote:
On Fri, Feb 28, 2014 at 6:36 AM, Glenn Linderman <v+python@g.nevcal.com> wrote:
+1
f() except ((TypeError, AttributeError): "No value")
is a nice extension to the idea of
value = expr except ( Exception1: default1, Exception2: default2, Exception3: default3, )
Which I've liked since I first saw it, as it neatly solves handling multiple except clauses.
You can already list multiple exception types. The definition of the exception_list is exactly as per the try/except statement (bar the 'as' keyword, which I would love to see implemented some day).
Note that this example is covering the deferred case of multiple except clauses that resolve to different values, not the already handled case of multiple exception types that resolve to the same value.
The "nice extension" to that notation is already handled, though.
Anyway, even if you choose not to switch the parenthesis requirement in PEP, it should at least make the "colon as in dict display, not as in suite introduction" comparison, and note this as an alternative proposal for the required parentheses.
Hmm. Not sure that it really helps, but okay. Will word something up. ChrisA