exceptiongroups icon indicating copy to clipboard operation
exceptiongroups copied to clipboard

Raw notes from the meeting

Open ambv opened this issue 6 years ago • 1 comments

Approach

Requirements from AsyncIO Requirements from Trio Narrow down to find one that works for both Extra syntax? A few API functions to unpack information? How do you represent tracebacks?

Challenge: it's a complicated problem space, it's important to have clear explanations for users.

Motivation

Explain the problem in general. Use cases:

async/await

Task groups/nurseries is the way to structure code.

multiprocessing

Collect results from many workers.

unittest

actual exception + tearDown() exception

Hypothesis

Approaches

Modify the try-except statement

run except: clauses multiple times to unpack all exceptions it's subtle: is it backwards-compatible? new code wrapped around old code or vice versa: what will happen?

Has to be within the current syntax: otherwise none of the existing code will adopt it CancelledError part of ExceptionGroup: existing asyncio code will break

Make ExceptionGroup a container of Exception

how to tie together: correctly handling extraction of a particular exception correctly handling tracebacks

ambv avatar Dec 16 '19 19:12 ambv

I wrote a bit more detailed overview of what we want to have in the first draft: https://github.com/python/exceptiongroups/issues/2

1st1 avatar Dec 16 '19 20:12 1st1