And I'll never approve syntax to make it easier to just ignore all exceptions without looking at them.
On Tue, Dec 12, 2017 at 12:48 AM, Chris Angelico <ros...@gmail.com> wrote: > On Tue, Dec 12, 2017 at 7:39 PM, Michel Desmoulin > <desmoulinmic...@gmail.com> wrote: > > > > > > Le 29/11/2017 à 19:02, Barry Warsaw a écrit : > >> On Nov 29, 2017, at 12:40, David Mertz <me...@gnosis.cx> wrote: > >> > >>> I think some syntax could be possible to only "catch" some exceptions > and let others propagate. Maybe: > >>> > >>> val = name.strip()[4:].upper() except (AttributeError, KeyError): -1 > >>> > >>> I don't really like throwing a colon in an expression though. Perhaps > some other word or symbol could work instead. How does this read: > >>> > >>> val = name.strip()[4:].upper() except -1 in (AttributeError, > KeyError) > >> > >> I don’t know whether I like any of this <wink> but I think a more > natural spelling would be: > >> > >> val = name.strip()[4:].upper() except (AttributeError, KeyError) as > -1 > >> > >> which could devolve into: > >> > >> val = name.strip()[4:].upper() except KeyError as -1 > >> > >> or: > >> > >> val = name.strip()[4:].upper() except KeyError # Implicit `as None` > >> > >> I would *not* add any spelling for an explicit bare-except equivalent. > You would have to write: > >> > >> val = name.strip()[4:].upper() except Exception as -1 > >> > >> Cheers, > >> -Barry > >> > > > > I really like this one. It's way more general. I can see a use for > > IndexError as well (lists don't have the dict.get() method). > > > > Also I would prefer not to use "as" this way. In the context of an > > exception, "as" already binds the exception to a variable so it's > confusing. > > > > What about: > > > > > > val = name.strip()[4:].upper() except Exception: -1 > > That happens to be the exact syntax recommended by PEP 463 (modulo > some distinguishing parentheses). > > https://www.python.org/dev/peps/pep-0463/ > > ChrisA > _______________________________________________ > 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/ > guido%40python.org > -- --Guido van Rossum (python.org/~guido)
_______________________________________________ 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