Ethan Furman writes: > On 02/21/2014 07:46 PM, Chris Angelico wrote: > > > > but not this: > > > > value = expr except Exception: default except Exception: default > > This should be the way it works. Nothing is gained in readability > by turning a try with multiple except statements into an > expression.
Examples have been given several times. In general, if 'expr' is a function call, it may well have a couple of different ways to fail which imply different default values. interpolable = func(key) except TypeError: "not a string: %s" % key \ except KeyError: "no such key: %s" % key print("Some message that refers to '%s' % interpolable") versus try: interpolable = func(key) except TypeError: interpolable = "not a string: %s" % key except KeyError: interpolable = "no such key: %s" % key print("Some message that refers to '%s' % interpolable") I think the latter begs to be written as the former. _______________________________________________ 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