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;
 		}
 	}