[issue45292] Implement PEP 654: Exception Groups
Irit Katriel
report at bugs.python.org
Wed Dec 15 04:34:07 EST 2021
Irit Katriel <iritkatriel at gmail.com> added the comment:
The second opcode that the PR adds is PREP_RERAISE_STAR.
This opcode takes a list that contains:
1. all the exceptions that were raised in the executed except* clauses
2. the unmatched part of the exception group
It constructs the exception group that needs to be raised at the end. This is done through a fairly complex operation on the BaseExceptionGroup, which merges the re-raised exceptions into the same nesting structure they had in the original exception group, so that
try:
raise eg
except* ValueError:
raise
except* TypeError:
raise
is equivalent to just 'raise eg'.
Is there any overlap with existing opcodes?
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue45292>
_______________________________________
More information about the Python-bugs-list
mailing list