Skip to content
This repository was archived by the owner on Apr 10, 2022. It is now read-only.
This repository was archived by the owner on Apr 10, 2022. It is now read-only.

Raw notes from the meeting #1

Open
@ambv

Description

@ambv

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions