diff options
author | Guido van Rossum <guido@python.org> | 1995-02-07 15:30:45 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1995-02-07 15:30:45 +0000 |
commit | 9ee9364c14298c19cfc21e8c28782a0a664baf20 (patch) | |
tree | 0c6eb6a053537aac630b99a92319289bb69137aa /Python/pythonrun.c | |
parent | 1fa364be778f647cadcd2142d56a92f6c507ff41 (diff) | |
download | cpython-9ee9364c14298c19cfc21e8c28782a0a664baf20.tar.gz |
print class name for exceptions that are classes
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r-- | Python/pythonrun.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c index c0214fc1e5..43ff599142 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -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) |