R: [Python-Dev] Deprecating string exceptions
Guido van Rossum
guido@python.org
2002年3月28日 07:48:40 -0500
> > > >>> class Z(str,Exception):
> > > ... pass
> >
> > Legal, but not particularly useful. Anyway, I think that "derives
> > from Exception" overrules "derives from str" here, so this should be
> > allowed. Note that currently it creates a new-style class and thus it
> > doesn't work.
>> What do you mean, it doesn't work?
>> >>> class Z(str,Exception):pass
> ...
> >>> exc = Z("Hallo")
> >>> try:
> ... raise exc
> ... except exc:
> ... print "Gefangen"
> ...
> Gefangen
But if you try "except Exception:" or "except Z:" instead, it doesn't
work. Very surprising.
--Guido van Rossum (home page: http://www.python.org/~guido/)