On 9/5/2009 9:07 AM, exar...@twistedmatrix.com wrote:
You are using the deprecated practice.
Clearly not, or it would fail in Python 3, which it does not.
Attributes are not scoped to a particular class. There is only one "message" attribute on your "MyError" instance. It does not belong just to "MyError". It does not belong just to "Exception". It does not belong just to "BaseException". It is shared by all of them.
No, it does not belong to any of those classes. It belongs to the instance.
Because "BaseException" deprecates instances of it having a "message" attribute
That is what is is doing, and that is precisely the problem. The DeprecationError is raised for the wrong thing. I mean be serious: this is flagging the use of a new attribute on a subclass. If you proposed building a class that way the screams on "unPythonic" on this list would be deafening. I am not sure how best to deprecate dependence on the Python 2.5 mistake, but this is not it. And I know at least one important library that is affected. Alan Isaac -- http://mail.python.org/mailman/listinfo/python-list