2018-06-04 18:45 GMT+02:00 Guido van Rossum email@example.com:
It is currently a general convention in asyncio to only catch Exception, not BaseException. I consider this a flaw and we should fix it, but it's unfortunately not so easy -- the tests will fail if you replace all occurrences of Exception with BaseException, and it is not always clear what's the right thing to do. E.g. catching KeyboardInterrupt may actually make it harder to stop a runaway asyncio app.
I recall vaguely something about loop.run_until_complete() which didn't behave "as expected" when interrupted by CTRL+c, like the following call to loop.run_until_complete() didn't work as expected. But this issue has been sorted out, no?
I mean that maybe asyncio uses "except Exception:" for "historical reasons"?