]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Added print_exception() convenience function.
authorGuido van Rossum <guido@python.org>
Tue, 20 Aug 1996 20:22:39 +0000 (20:22 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 20 Aug 1996 20:22:39 +0000 (20:22 +0000)
Lib/cgi.py

index 9fca4d8e7da99cb835e90f954812a49dc9cc2acd..587999c5fe3221b34d0687ba0f3592bca43c73cf 100755 (executable)
@@ -397,7 +397,7 @@ backwards compatible and debugging classes and functions?
 
 """
 
-__version__ = "2.0b2"
+__version__ = "2.0b3"
 
 
 # Imports
@@ -1089,9 +1089,27 @@ def test(environ=os.environ):
        print_directory()
        print_arguments()
        print_environ_usage()
+       def f():
+           exec "testing print_exception() -- <I>italics?</I>"
+       def g(f=f):
+           f()
+       print "<H3>What follows is a test, not an actual exception:</H3>"
+       g()
     except:
-       print "\n\n<PRE>"       # Turn off HTML word wrap
-       traceback.print_exc()
+       print_exception()
+
+def print_exception(type=None, value=None, tb=None, limit=None):
+    if type is None:
+       type, value, tb = sys.exc_type, sys.exc_value, sys.exc_traceback
+    import traceback
+    print
+    print "<H3>Traceback (innermost last):</H3>"
+    list = traceback.format_tb(tb, limit) + \
+          traceback.format_exception_only(type, value)
+    print "<PRE>%s<B>%s</B></PRE>" % (
+       escape(string.join(list[:-1], "")),
+       escape(list[-1]),
+       )
 
 def print_environ(environ=os.environ):
     """Dump the shell environment as HTML."""