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

Skip Montanaro skip@pobox.com
2002年3月20日 15:08:32 -0600


(BAW - why does supercite ruin code indentation when quoting???)
 >> There's a standard idiom for this:
 >> 
 >> try:
 >> ...code...
 >> except KeyboardInterrupt:
 >> raise
 >> except:
 >> ...handler...
 aahz> May I suggest yet one more alteration:
 aahz> try:
 aahz> ...code...
 aahz> except (KeyboardInterrupt,SystemExit):
 aahz> raise
 aahz> except:
 aahz> ...handler...
Which reminds me about a proposal I made here last November:
 http://mail.python.org/pipermail/python-dev/2001-November/018394.html
Executive summary: Make KeyboardInterrupt inherit directly from Exception
instead of from StandardError, so your standard idiom becomes:
 try:
 fragile code
 except StandardError:
 recover
Anything that you might generally not want to trap (KeyboardInterrupt and
SystemExit are the usual suspects, but Warning and StopIteration also fall
into this category I think) should not inherit from StandardError.
Skip

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