]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
print class name for exceptions that are classes
authorGuido van Rossum <guido@python.org>
Tue, 7 Feb 1995 15:30:45 +0000 (15:30 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 7 Feb 1995 15:30:45 +0000 (15:30 +0000)
Python/pythonrun.c

index c0214fc1e584f11e31a4b261980afcc269b950db..43ff59914266e9303c39b1cacd594fed0b72339c 100644 (file)
@@ -62,6 +62,8 @@ static object *run_err_node PROTO((node *n, char *filename,
                                   object *globals, object *locals));
 static object *run_node PROTO((node *n, char *filename,
                               object *globals, object *locals));
+static object *run_pyc_file PROTO((FILE *fp, char *filename,
+                                  object *globals, object *locals));
 static void err_input PROTO((perrdetail *));
 static void initsigs PROTO((void));
 
@@ -348,8 +350,18 @@ print_error()
                                v = message;
                        }
                }
-               if (writeobject(exception, f, PRINT_RAW) != 0)
-                       err_clear();
+               if (is_classobject(exception)) {
+                       object* className = ((classobject*)exception)->cl_name;
+                       if (className == NULL)
+                               writestring("<unknown>", f);
+                       else {
+                               if (writeobject(className, f, PRINT_RAW) != 0)
+                                       err_clear();
+                       }
+               } else {
+                       if (writeobject(exception, f, PRINT_RAW) != 0)
+                               err_clear();
+               }
                if (v != NULL && v != None) {
                        writestring(": ", f);
                        if (writeobject(v, f, PRINT_RAW) != 0)