557eb22e30
It accumulates the exceptions and raises an ExceptionGroup exception if there were any failures. Rationale: Event handlers should not be dependent on the order in which they are executed. If a handler fails the remaining handlers are not executed. This can result in non-deterministic behavior. This commit fixes that my allowing all handlers to be executed. To make this work we use the (backported) ExceptionGroup from Python 3.11.