Я пытаюсь использовать обработчик exception_handler вместе с asyncio.gather
Мой код:
import asyncio
def exception_handler(loop, context):
print('Exception handler called')
async def coro():
print("coro")
raise RuntimeError("BOOM!")
return 1
def main():
loop = asyncio.get_event_loop()
loop.set_exception_handler(exception_handler)
group = asyncio.gather(coro(), coro(), coro())
results = loop.run_until_complete(group)
print(results)
main()
Когда я запускаю его, вместо того, чтобы получать обработчик исключений под названием, я получить:
Traceback (most recent call last):
File "test.py", line 23, in <module>
main()
File "test.py", line 20, in main
results = loop.run_until_complete(group)
File "/usr/lib64/python3.7/asyncio/base_events.py", line 583, in run_until_complete
return future.result()
File "test.py", line 12, in coro
raise RuntimeError("BOOM!")