The *re* module is a black swan, because most of stdlib raises exceptions on invalid arguments or not being able to deliver.
It's impossible to change *re* now, so wrapping the calls should be the right solution. -- Juancarlo Añez mailto:[email protected] On Sun, Oct 22, 2023 at 5:19 AM Stephen J. Turnbull < [email protected]> wrote: > Chris Angelico writes: > > > Why create a new argument, then mandate that you use it everywhere, > > just to achieve what's already happening? > > "Newbies don't read code backwards very well" seems to be the > point. > > While I'm not of the school that "I learned this painfully, so newbies > should learn this painfully", I do think that novice Python > programmers should learn that > > 1. "None has no .xxx attribute" means that some previous code (often > but not always a regex match) was unable to perform some task > and returned None to indicate failure. > 2. If the failure was expectable, your code is buggy because it > didn't test for None, and if it was unexpected, some code > somewhere is buggy because it allowed an invariant to fail. > > On the cost side, there are so many cases where a more finely divided > Exception hierarchy would help novices quite a bit but experts very > little that this case (easy to learn) would open the floodgates. I > believe Guido has specifically advised against such a hierarchy. I'm > against this change. > > Steve > _______________________________________________ > Python-ideas mailing list -- [email protected] > To unsubscribe send an email to [email protected] > https://mail.python.org/mailman3/lists/python-ideas.python.org/ > Message archived at > https://mail.python.org/archives/list/[email protected]/message/MIE4OFPAG5CTNMUR7FYJSX66UMDHIH57/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ Python-ideas mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/[email protected]/message/QCKOSYRIFF4O27CUFIUV76NGPQYI4FQP/ Code of Conduct: http://python.org/psf/codeofconduct/
