[Python-Dev] Exception Reorg PEP revised yet again

James Y Knight foom at fuhm.net
Thu Aug 11 16:57:21 CEST 2005


On Aug 9, 2005, at 7:15 PM, Raymond Hettinger wrote:
> The data gathered by Jack and Steven's research indicate that the 
> number
> of cases where TerminatingException would be useful is ZERO. Try 
> not to
> introduce a new builtin that no one will ever use. Try not to add 
> a new
> word whose only function is to replace a two-word tuple (TOOWTDI). 
> Try
> not to unnecessarily nest the tree (FITBN). Try not to propose
> solutions to problems that don't exist (PBP).

I disagree. TerminatingException is useful. For the immediate future, 
I'd like to be able to write code like this (I'm assuming that 
"except:" means what it means now, because changing that for Py2.5 
would be insane):
 try:
 TerminatingException
 except NameError:
 # compatibility with python < 2.5
 TerminatingException = (KeyboardInterrupt, SystemExit)
 try:
 foo....
 except TerminatingException:
 raise
 except:
 print "error message"
What this gets me:
 1) easy backwards compatibility with earlier pythons which still 
have KeyboardInterrupt and SystemExit under Exception and don't 
provide TerminatingException
 2) I still catch string exceptions, in case anyone raises one
 3) Forward compatibility with pythons that add more types of 
terminating exceptions.
James


More information about the Python-Dev mailing list

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