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

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