On 27Feb2021 00:54, Irit Katriel <iritkatr...@googlemail.com> wrote: >On Sat, Feb 27, 2021 at 12:47 AM Jim J. Jewett <jimjjew...@gmail.com> wrote: >> > 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") >> >> Allowed, but probably in error ... no AttributeError will get through to >> the except * unless it happened inside the except AttributeError handler. >> Did you mean: > >If obj.func() raises an ExceptionGroup that contains AttributeError then >"except AttributeError" doesn't catch it. So it will get through.
And I, for one, would expect that. And _want_ that: I want the code to do what I said, not have some magic which silently/invisibly intercepts ExceptionGroups which contain something buried deep in their subgroup tree. We already allow "deep" exceptions out, to be caught at an arbitrary outer call stack level. I don't see why ExceptionGroups should be any different. I certainly do not want ExceptionGroup([AttributeError]) conflated with AttributeError. That fills me with horror. Cheers, Cameron Simpson <c...@cskk.id.au> _______________________________________________ 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/CSJJSEEW2EY56JKMBCSD6R5SEJOF2ZVU/ Code of Conduct: http://python.org/psf/codeofconduct/