[Python-Dev] Why not using "except: (...) raise" to cleanup on error?

Yury Selivanov yselivanov.ml at gmail.com
Mon Jun 4 15:40:31 EDT 2018


On Mon, Jun 4, 2018 at 3:38 PM Victor Stinner <vstinner at redhat.com> wrote:
>
> 2018-06-04 18:45 GMT+02:00 Guido van Rossum <guido at python.org>:
> > 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?

No, the issue is still there.  And it's not an easy fix.

Yury


More information about the Python-Dev mailing list