Mark Hammond:
In line with a similar checkin to object.c a while ago, this patch
gives a more descriptive error message for an attribute error on a
class instance. The message now looks like:
AttributeError: 'Descriptor' instance has no attribute 'GetReturnType'
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 8ee1344..4fb1167 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -592,7 +592,10 @@
if (v == NULL) {
v = class_lookup(inst->in_class, name, &class);
if (v == NULL) {
- PyErr_SetObject(PyExc_AttributeError, name);
+ PyErr_Format(PyExc_AttributeError,
+ "'%.50s' instance has no attribute '%.400s'",
+ PyString_AsString(inst->in_class->cl_name),
+ sname);
return NULL;
}
}