import cgitb import inspect import sys def badfunc(x): del x # This is the bad part raise ValueError('fail') try: badfunc(1) except: cgitb.handler() print 72*'*' print 'Above, you should have seen a pretty traceback, but you saw a fallback.' print '' print "Here's why" print 72*'*' try: badfunc(1) except: ei = sys.exc_info() for frame in inspect.getinnerframes(ei[2]): print 'Will formatargvalues on %r' % (frame,) print inspect.formatargvalues(*inspect.getargvalues(frame[0])) print ''