| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
| ``first.__context__ = group`` as a side effect. This discards the original | ||
| In this case, the implicit ``exc.__context__ = group`` discards the original | ||
| context of the error, which may contain crucial information to understand why | ||
| the exception was raised. In many production apps it also causes tracebacks |
There was a problem hiding this comment.
leaf_exceptions() loses the __context__ of all ExceptionGroups on the path from the leaf to the root. Here you're fixing it only for the last __context__, but that's not enough.
Sorry, something went wrong.
| with the ``.split()`` and ``.subgroup()`` methods, and mentioning | ||
| ``.preserve_context()`` as an advanced option to address specific pain points. | ||
| with the ``.split()`` and ``.subgroup()`` methods, emphasizing a preference | ||
| for the latter. |
There was a problem hiding this comment.
Why do we need leaf_exceptions()? What can that do that .split() and .subgroup() cannot?
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Thanks in particular to @.iritkatriel for great feedback on Discourse, and @.gpshead for discussions over lunch.
This update makes a moderate change to the proposed BaseExceptionGroup.leaf_exceptions() method, to return a list of (exc, traceback) tuples rather than accepting a boolean flag to call .with_traceback() for the user, and to specify that each sub-exception must be processed only once (in rare cases where a group is not tree-structured).
The larger change is to scrap my proposed BaseException.preserve_context() method: since I'd only (but always) recommend using it in the specific case of re-raising part of the exception group rendered by an except* statement, I now propose that we make a small language change to 'do the right thing' there unconditionally.
Discuss thread here.
📚 Documentation preview 📚: https://pep-previews--4568.org.readthedocs.build/