]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
handle class exceptions
authorGuido van Rossum <guido@python.org>
Mon, 27 Feb 1995 13:15:45 +0000 (13:15 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 27 Feb 1995 13:15:45 +0000 (13:15 +0000)
Lib/compileall.py
Lib/lib-old/tb.py
Lib/tb.py
Lib/traceback.py

index cd028513265bb4d48ebfe7825cb416e45c712516..312028407dd5b97ad26defdb7b36cdd0c84f5a84 100644 (file)
@@ -30,7 +30,10 @@ def compile_dir(dir, maxlevels = 10):
                                        print '\n[interrupt]'
                                        break
                                except:
-                                       print 'Sorry:', sys.exc_type + ':',
+                                       if type(sys.exc_type) == type(''):
+                                               exc_type_name = sys.exc_type
+                                       else: exc_type_name = sys.exc_type.__name__
+                                       print 'Sorry:', exc_type_name + ':',
                                        print sys.exc_value
                elif maxlevels > 0 and \
                     name != os.curdir and name != os.pardir and \
index 6b9cd9a53fcd06c34da5648125ff6725a8b59dee..0442ba86e2e58fa78cd33ed0f830294ae847e138 100644 (file)
@@ -74,7 +74,10 @@ def browserexec(tb, cmd):
                exec(cmd+'\n', globals, locals)
        except:
                print '*** Exception:',
-               print sys.exc_type,
+               if type(sys.exc_type) == type(''):
+                       print sys.exc_type,
+               else:
+                       print sys.exc_type.__name__,
                if sys.exc_value <> None:
                        print ':', sys.exc_value,
                print
index 6b9cd9a53fcd06c34da5648125ff6725a8b59dee..0442ba86e2e58fa78cd33ed0f830294ae847e138 100644 (file)
--- a/Lib/tb.py
+++ b/Lib/tb.py
@@ -74,7 +74,10 @@ def browserexec(tb, cmd):
                exec(cmd+'\n', globals, locals)
        except:
                print '*** Exception:',
-               print sys.exc_type,
+               if type(sys.exc_type) == type(''):
+                       print sys.exc_type,
+               else:
+                       print sys.exc_type.__name__,
                if sys.exc_value <> None:
                        print ':', sys.exc_value,
                print
index 1eec209742cd6ae3cf6872f4d3ae068bc68489e6..5ab3ec6b347890663288ade3a0ca8c3cf1182e16 100644 (file)
@@ -3,6 +3,7 @@
 import linecache
 import string
 import sys
+import types
 
 def print_tb(tb, limit = None):
        if limit is None:
@@ -41,23 +42,29 @@ def extract_tb(tb, limit = None):
                n = n+1
        return list
 
-def print_exception(type, value, tb, limit = None):
+def print_exception(etype, value, tb, limit = None):
        if tb:
                print 'Traceback (innermost last):'
                print_tb(tb, limit)
+       if type(etype) == types.ClassType:
+               stype = etype.__name__
+       else:
+               stype = etype
        if value is None:
-               print type
+               print stype
        else:
-               if type is SyntaxError:
+               if etype is SyntaxError:
                        try:
                                msg, (filename, lineno, offset, line) = value
                        except:
                                pass
                        else:
                                if not filename: filename = "<string>"
-                               print '  File "%s", line %d' % (filename, lineno)
+                               print '  File "%s", line %d' % \
+                                     (filename, lineno)
                                i = 0
-                               while i < len(line) and line[i] in string.whitespace:
+                               while i < len(line) and \
+                                     line[i] in string.whitespace:
                                        i = i+1
                                s = '    '
                                print s + string.strip(line)
@@ -68,7 +75,7 @@ def print_exception(type, value, tb, limit = None):
                                                s = s + ' '
                                print s + '^'
                                value = msg
-               print '%s: %s' % (type, value)
+               print '%s: %s' % (stype, value)
 
 def print_exc(limit = None):
        print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback,