@property decorator doesn't raise exceptions
Peter Otten
__peter__ at web.de
Fri Oct 24 12:58:03 EDT 2008
More information about the Python-list mailing list
Fri Oct 24 12:58:03 EDT 2008
- Previous message (by thread): @property decorator doesn't raise exceptions
- Next message (by thread): @property decorator doesn't raise exceptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Rafe wrote: > On Oct 24, 2:21 am, Christian Heimes <li... at cheimes.de> wrote: >> Rafewrote: >> > Hi, >> >> > I've encountered a problem which is making debugging less obvious than >> > it should be. The @property decorator doesn't always raise exceptions. >> > It seems like it is bound to the class but ignored when called. I can >> > see the attribute using dir(self.__class__) on an instance, but when >> > called, python enters __getattr__. If I correct the bug, the attribute >> > calls work as expected and do not call __getattr__. >> >> > I can't seem to make a simple repro. Can anyone offer any clues as to >> > what might cause this so I can try to prove it? >> >> You must subclass from "object" to get a new style class. properties >> don't work correctly on old style classes. >> >> Christian > > All classes are a sub-class of object. Any other ideas? Hard to tell when you don't give any code. >>> class A(object): ... @property ... def attribute(self): ... raise AttributeError ... def __getattr__(self, name): ... return "nobody expects the spanish inquisition" ... >>> A().attribute 'nobody expects the spanish inquisition' Do you mean something like this? I don't think the __getattr__() call can be avoided here. Peter
- Previous message (by thread): @property decorator doesn't raise exceptions
- Next message (by thread): @property decorator doesn't raise exceptions
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list