Exceptions are no longer old-style instances. Fix accordingly.
diff --git a/Lib/cgitb.py b/Lib/cgitb.py
index ae25cf1..1c300b2 100644
--- a/Lib/cgitb.py
+++ b/Lib/cgitb.py
@@ -167,7 +167,7 @@
 
     exception = ['<p>%s: %s' % (strong(pydoc.html.escape(str(etype))),
                                 pydoc.html.escape(str(evalue)))]
-    if type(evalue) is types.InstanceType:
+    if isinstance(evalue, BaseException):
         for name in dir(evalue):
             if name[:1] == '_': continue
             value = pydoc.html.repr(getattr(evalue, name))
@@ -239,7 +239,7 @@
         frames.append('\n%s\n' % '\n'.join(rows))
 
     exception = ['%s: %s' % (str(etype), str(evalue))]
-    if type(evalue) is types.InstanceType:
+    if isinstance(evalue, BaseException):
         for name in dir(evalue):
             value = pydoc.text.repr(getattr(evalue, name))
             exception.append('\n%s%s = %s' % (" "*4, name, value))