On Fri, Feb 26, 2021 at 2:42 PM Nathaniel Smith <n...@pobox.com> wrote:
> On Fri, Feb 26, 2021 at 5:05 AM Irit Katriel <iritkatr...@googlemail.com> > wrote: > > I'm not sure it's safe to assume that it is necessarily a programming > error, and that the interpreter can essentially break the program in this > case. > > Is this not allowed? > > > > try: > > try: > > obj.func() # function that raises ExceptionGroups > > except AttributeError: > > logger.info("obj doesn't have a func") > > except *(AttributeError, SyntaxError): > > logger.info("func had some problems") > > I'd be fine with disallowing that. The intuition is that things will > be simplest if ExceptionGroup is kept as transparent and meaningless > as possible, i.e. ExceptionGroup(ValueError) and ValueError mean > exactly the same thing -- "some code inside this block raised > ValueError" -- and ideally should be processed in exactly the same > way. But they don't mean the same thing if this prints hello: try: raise ValueError() except ValueError: print('hello') and this raises a RuntimeError: try: raise ExceptionGroup("", [ValueError()]) except ValueError: print('hello') What am I missing?
_______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/ZQYMOWWCFBP3TBBNZGD5X45CWJNC4HFF/ Code of Conduct: http://python.org/psf/codeofconduct/