[Python-Dev] Breaking bug #411881 into manageable pieces

Guido van Rossum guido@python.org
2002年3月20日 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/)

AltStyle によって変換されたページ (->オリジナル) /