Lies den Code sorgfältig
import asyncio
events: list[str] = []
async def task(name: str, work: float, fail: bool = False) -> None:
events.append(f"{name} start")
await asyncio.sleep(work)
if fail:
events.append(f"{name} raising")
raise ValueError(f"{name} failed")
events.append(f"{name} done")
async def main() -> None:
try:
async with asyncio.TaskGroup() as tg:
tg.create_task(task("ok-fast", 0.01))
tg.create_task(task("boom", 0.02, fail=True))
tg.create_task(task("ok-slow", 0.05))
except* ValueError as eg:
events.append(f"caught {len(eg.exceptions)} exception(s)")
for e in events:
print(e)
asyncio.run(main())
Was wird das Programm ausgeben? Schreib hier: