On 7/30/05, James Y Knight <[EMAIL PROTECTED]> wrote:
> On Jul 29, 2005, at 11:07 PM, Robert Brewer wrote:
> 
> > I'd recommend not subclassing SystemExit--there are too many programs
> > out there which expect the argument (e.g. sys.exit(3)) to mean
> > something
> > specific, but that expectation doesn't apply at all to SystemError.
> 
> Yes please make note of this for *all* exception (and otherwise)
> inheritance. You must ensure that any exception B that inherits from
> A conforms to A's interface! If that isn't the case, it shouldn't
> inherit. Lots of people seem to forget this, and it's always a pain
> in the ass.
> 

The reason for requiring inheriting from Raisable is so that the basic
interface will be guaranteed for any caught exception.  And I don't
think that any of the built-ins have any specific attributes sans
maybe OSError, but that is a leaf in the inheritance tree so that is
not a problem.

Don't worry, the interfaces won't change in the middle of a branch.

-Brett
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to