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/pickle.py b/Lib/pickle.py
index b0b3aa1..b32ee83 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -816,7 +816,7 @@
while 1:
key = read(1)
dispatch[key](self)
- except _Stop, stopinst:
+ except _Stop as stopinst:
return stopinst.value
# Return largest index k such that self.stack[k] is self.mark.
@@ -1018,7 +1018,7 @@
if not instantiated:
try:
value = klass(*args)
- except TypeError, err:
+ except TypeError as err:
raise TypeError, "in constructor for %s: %s" % (
klass.__name__, str(err)), sys.exc_info()[2]
self.append(value)