[Python-Dev] Breaking bug #411881 into manageable pieces (original) (raw)

Guido van Rossum guido@python.org
Wed, 20 Mar 2002 01:28:35 -0500


Tim Peters <tim.one@comcast.net> writes:

> doctest.py: I Trust Tim (tm) > > Me too. The first bare except is exec'ing arbitrary user-supplied > code, and needs to catch everything. The second needs to ignore > any exception that may be raised by a user-define str, and > that's any exception whatsoever, so ditto. One observation in the bug report is that atleast KeyboardInterrupt needs to get a chance to get through, making bare except clauses evil under almost any circumstance. Regards, Martin

That would explain why sometimes I have to hit ^C twice to kill the test suite.

There's a standard idiom for this:

try: ...code... except KeyboardInterrupt: raise except: ...handler...

That's easy enough to add to doctest (I looked and it seems obvious that this will work).

--Guido van Rossum (home page: http://www.python.org/~guido/)