improved error message-- names the type of the unexpected object
diff --git a/Python/ceval.c b/Python/ceval.c
index d5e3a4e..df160f2 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2493,8 +2493,9 @@
 	else {
 		/* Not something you can raise.  You get an exception
 		   anyway, just not what you specified :-) */
-		PyErr_SetString(PyExc_TypeError,
-		    "exceptions must be strings, classes, or instances");
+		PyErr_Format(PyExc_TypeError,
+			     "exceptions must be strings, classes, or "
+			     "instances, not %s", type->ob_type->tp_name);
 		goto raise_error;
 	}
 	PyErr_Restore(type, value, tb);