Hi Irit,

reading this subthread specifically, I just got a wild idea and I couldn‘t find any related information in the PEP:

Why not extending BaseException by __group__ among __cause__ and __context__?

Would this reduce some of the added complexity and thus increase broader acceptance?

Cheers,
Sven


On 7. Apr 2021, at 20:26, Irit Katriel via Python-Dev <python-dev@python.org> wrote:



On Mon, Apr 5, 2021 at 2:59 PM Chris Jerdonek <chris.jerdonek@gmail.com> wrote:
This point reminded me again of this issue in the tracker ("Problems with recursive automatic exception chaining" from 2013): https://bugs.python.org/issue18861
I'm not sure if it's exactly the same, but you can see that a couple of the later comments there talk about "exception trees" and other types of annotations.

If that issue were addressed after ExceptionGroups were introduced, does that mean there would then be two types of exception-related trees layered over each other (e.g. groups of trees, trees of groups, etc)? It makes me wonder if there's a more general tree structure that could accommodate both use cases...

--Chris 

Interesting, I commented on that issue - I think we may be able to solve it without adding more trees. 

That said, we will have groups-of-trees/trees-of-groups.  Already today, an exception plus its chained __cause__s and __context__s is the root of a binary tree of exceptions.  The nodes of this tree represent the times that the exceptions were caught.

An exception group is a tree where the nodes represent the times when exceptions were grouped together and raised. 

Irit
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-leave@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/BZWELKDUAKCOXSH5KQRFGQJRQWJ2OHKW/
Code of Conduct: http://python.org/psf/codeofconduct/