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

Brett Cannon brett at python.org
Wed Mar 8 00:38:31 CET 2006


On 3/7/06, Guido van Rossum <guido at python.org> wrote:
> 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.

Right, stuff dealing with the type could break.  Instance-related
stuff dealing with the interface will continue to work as expected and
be fully backwards-compatible (unless someone complains about now
having a proper __unicode__ method, in which case it will definitely
go in one ear and out the other for me).

-Brett


More information about the Python-Dev mailing list