SF patch 1631942 by Collin Winter:
(a) "except E, V" -> "except E as V"
(b) V is now limited to a simple name (local variable)
(c) V is now deleted at the end of the except block
diff --git a/Lib/trace.py b/Lib/trace.py
index c7ed0a5..ca44eae 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -220,7 +220,7 @@
                 counts, calledfuncs, callers = \
                         pickle.load(open(self.infile, 'rb'))
                 self.update(self.__class__(counts, calledfuncs, callers))
-            except (IOError, EOFError, ValueError), err:
+            except (IOError, EOFError, ValueError) as err:
                 print >> sys.stderr, ("Skipping counts file %r: %s"
                                       % (self.infile, err))
 
@@ -328,7 +328,7 @@
             try:
                 pickle.dump((self.counts, self.calledfuncs, self.callers),
                             open(self.outfile, 'wb'), 1)
-            except IOError, err:
+            except IOError as err:
                 print >> sys.stderr, "Can't save counts files because %s" % err
 
     def write_results_file(self, path, lines, lnotab, lines_hit):
@@ -336,7 +336,7 @@
 
         try:
             outfile = open(path, "w")
-        except IOError, err:
+        except IOError as err:
             print >> sys.stderr, ("trace: Could not open %r for writing: %s"
                                   "- skipping" % (path, err))
             return 0, 0
@@ -422,7 +422,7 @@
     """Return dict where keys are line numbers in the line number table."""
     try:
         prog = open(filename, "rU").read()
-    except IOError, err:
+    except IOError as err:
         print >> sys.stderr, ("Not printing coverage data for %r: %s"
                               % (filename, err))
         return {}
@@ -658,7 +658,7 @@
                                          "coverdir=", "listfuncs",
                                          "trackcalls"])
 
-    except getopt.error, msg:
+    except getopt.error as msg:
         sys.stderr.write("%s: %s\n" % (sys.argv[0], msg))
         sys.stderr.write("Try `%s --help' for more information\n"
                          % sys.argv[0])
@@ -778,7 +778,7 @@
                   outfile=counts_file)
         try:
             t.run('execfile(%r)' % (progname,))
-        except IOError, err:
+        except IOError as err:
             _err_exit("Cannot run file %r because: %s" % (sys.argv[0], err))
         except SystemExit:
             pass