Which exception to use?
mwh at python.net
Thu Jan 30 12:59:55 CET 2003
Peter Hansen <peter at engcorp.com> writes:
> Michael Hudson wrote:
> > Chad Netzer <cnetzer at mail.arc.nasa.gov> writes:
> > > I do things like this for some library functions that I create (I
> > > welcome discussion about whether it is a good approach)
> > >
> > > class ArgumentError( Exception ):
> > > pass
> > This *is* a good approach (IMHO), but you should consider deriving
> > your exceptions from StandardError instead (I rarely remember to do
> > this, either).
> Why should you do this?
I think I'm mixed up.
> I found the following quote when I searched for "python standarderror",
> from http://web.pydoc.org/1.5.2/exceptions.html#StandardError :
> "If you define your own class based exceptions, they should be
> derived from Exception."
> All of *Python's* exceptions, except SystemExit, are derived from
> StandardError, but the description of StandardError says only
> "Base class for all standard Python exceptions.".
> Since we're not talking about defining *standard* exceptions,
> shouldn't we follow the advice in that page?
My idea was that instead of writing
you should mostly write
so you don't catch SystemExits by mistake. But it looks like I've
been making things up again, so feel free to ignore my post...
Arrrrgh, the braindamage! It's not unlike the massively
non-brilliant decision to use the period in abbreviations
as well as a sentence terminator. Had these people no
imagination at _all_? -- Erik Naggum, comp.lang.lisp
More information about the Python-list