[Python-Dev] str(Exception) changed, is that intended?

Guido van Rossum guido at python.org
Tue Mar 7 23:11:14 CET 2006

On 3/7/06, Barry Warsaw <barry at python.org> wrote:
> On Tue, 2006-03-07 at 13:35 -0800, Guido van Rossum wrote:
> > IMO it shouldn't be fixed. Classic classes define their str to print
> > the module name and class name with a dot in between; new-style
> > classes use the same format as their repr. Making exceptions new-style
> > classes is going to break a number of things; that's just inevitable.
> What else do you expect to break?  Should we at least try to describe
> expected breakage in PEP 352?

Anything that depends on the differences in behavior between classic
and new-style classes, e.g. multiple inheritance if the inheritance
graph contains a diamond, or type(exc) having a specific value
(namely, the metaclass for classic classes), or certain broken
behaviors (like read-only properties not being really read-only).

It's hard to make a complete list.

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list