So, forgive me my relatively simple mental model about ExceptionGroup. I still 
try to create one for daily use.

As noted in the discussion, an EG provides a way to collect exceptions from 
different sources and raise them as a bundle. They have no apparent relation up 
until this point in time (for whatever reason they have been separate and for 
whatever reason they are bundled now). The result would be a tree graph in any 
case.

A usual datastructure for a tree is to store all child nodes at the parent node.

That was the idea behind the content of BaseException.__group__: it’s the list 
of child exceptions bundled at a specific point in time and raise as such a 
bundle. So all exceptions could become EGs with the additional semantics you‘ve 
described in the PEP.

Illustrative Example:
>>> bundle_exc.__group__
[IOError(123), RuntimerError(‘issue somewhere’)]

I was wondering what of the PEP could be removed to make it simpler and more 
acceptable/less confusing (also looking at reactions from Twitter etc.) and I 
found these additional classes to be a part of it. Additionally, I fail to see 
how to access these bundled exceptions in an easy manner like __cause__ and 
__context__. (As the PEP also referring to them). So, I removed the classes and 
added a regular attribute.

The reason I brought this up what the section “rejected ideas” didn’t showed 
anything in this direction (or I managed to missed that).

Sven

> 
> On 20. Apr 2021, at 22:05, Irit Katriel <iritkatr...@yahoo.com> wrote:
> 
> Hi Sven,
> 
> I don’t follow.  What would the value of __group__ be and how would it work?
> 
> Irit
> 
>> On 20 Apr 2021, at 20:44, srku...@mail.de wrote:
>> 
>> 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

_______________________________________________
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/4NUG6R36HN557AY36SPINNRFRYBW4QM7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to