[Python-Dev] Re: Dangerous exceptions (was Re: Another test_compilermystery) (original) (raw)

Jeremy Hylton jhylton at gmail.com
Tue Sep 7 16:07:25 CEST 2004


On Tue, 07 Sep 2004 09:43:53 -0400, Jim Fulton <jim at zope.com> wrote:

Jeremy Hylton wrote:

... > I > think it would be easier in principle to put them at a different place > in the class hierarchy than to make them some special kind of > uncatchable exception. Note that we don't want uncatchable exceptions. Rather, we want exceptions that aren't caught by bare excepts or very broad excepts. In many cases, we want certain knowledgeable code to be able to catch these exceptions.

I agree with half the cause. There ought to be a decent organization of the exception class hierarchy so that exceptions like KeyboardInterrupt are in a special category. Then an "except NormalError:" would catch only the normal errors and not the special ones. I don't think bare exception should change it's meaning; you just shouldn't use it unless it's really what you mean.

I think backwards compatibility is a really hard issue for any of these changes. It's probably hard to re-arrange the class hierarchy, but I don't know what practical solution there is to these problems that doesn't involve breaking some code. It's even harder to change bare except, but I don't think that's necessary.

Jeremy



More information about the Python-Dev mailing list