import sys
import asyncio
if sys.platform == "win32":
EventLoop = asyncio.ProactorEventLoop
else:
EventLoop = asyncio.SelectorEventLoop
async def demo():
class MyError(Exception):
pass
async def throw_error():
raise MyError
try:
async with asyncio.TaskGroup() as tg:
tg.create_task(throw_error())
except* MyError:
pass
def loop_factory():
loop = EventLoop()
loop.set_task_factory(asyncio.eager_task_factory)
return loop
asyncio.run(demo(), loop_factory=loop_factory)
Traceback (most recent call last):
File "/home/graingert/projects/anyio/demo.py", line 29, in <module>
asyncio.run(demo(), loop_factory=loop_factory)
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
Bug report
Bug description:
results in:
CPython versions tested on:
3.12
Operating systems tested on:
Linux
Linked PRs