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

Thomas Heller theller at python.net
Tue Mar 7 22:33:03 CET 2006


Brett Cannon wrote:
> On 3/7/06, Thomas Heller <theller at python.net> wrote:
>> I know that my unittests should not rely on this, but is this change
>> intended?
>>
>> c:\sf\ctypes_head>py24
>> Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
>> Type "help", "copyright", "credits" or "license" for more information.
>>>>> str(Exception)
>> 'exceptions.Exception'
>>>>> ^Z
>>
>> c:\sf\ctypes_head>py
>> Python 2.5a0 (trunk:42903M, Mar  7 2006, 22:01:07) [MSC v.1310 32 bit (Intel)] on win32
>> Type "help", "copyright", "credits" or "license" for more information.
>>>>> str(Exception)
>> "<class 'exceptions.Exception'>"
>>>>> ^Z
> 
> It's a side-effect of making built-in exceptions new-style classes. 
> Not sure how you would override the string representation of a class
> anyway to fix this.

With metaclasses, of course ;-).

Seriously, I can live with the change - I just wanted to ask if it will stay,
or was an oversight.

Thomas



More information about the Python-Dev mailing list