summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_exceptions.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2007-01-10 16:19:56 (GMT)
committerGuido van Rossum <guido@python.org>2007-01-10 16:19:56 (GMT)
commitb940e113bf90ff71b0ef57414ea2beea9d2a4bc0 (patch)
tree0b9ea19eba1e665dac95126c3140ac2bc36326ad /Lib/test/test_exceptions.py
parent893523e80a2003d4a630aafb84ba016e0070cbbd (diff)
downloadcpython-b940e113bf90ff71b0ef57414ea2beea9d2a4bc0.zip
cpython-b940e113bf90ff71b0ef57414ea2beea9d2a4bc0.tar.gz
cpython-b940e113bf90ff71b0ef57414ea2beea9d2a4bc0.tar.bz2
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
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r--Lib/test/test_exceptions.py26
1 files changed, 18 insertions, 8 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 7619aae..4a6b8c5 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -21,17 +21,17 @@ class ExceptionTests(unittest.TestCase):
try:
import exceptions
reload(exceptions)
- except ImportError, e:
+ except ImportError as e:
self.fail("reloading exceptions: %s" % e)
def raise_catch(self, exc, excname):
try:
raise exc, "spam"
- except exc, err:
+ except exc as err:
buf1 = str(err)
try:
raise exc("spam")
- except exc, err:
+ except exc as err:
buf2 = str(err)
self.assertEquals(buf1, buf2)
self.assertEquals(exc.__name__, excname)
@@ -115,7 +115,7 @@ class ExceptionTests(unittest.TestCase):
self.raise_catch(Exception, "Exception")
try: x = 1/0
- except Exception, e: pass
+ except Exception as e: pass
def testSyntaxErrorMessage(self):
# make sure the right exception message is raised for each of
@@ -124,7 +124,7 @@ class ExceptionTests(unittest.TestCase):
def ckmsg(src, msg):
try:
compile(src, '<fragment>', 'exec')
- except SyntaxError, e:
+ except SyntaxError as e:
if e.msg != msg:
self.fail("expected %s, got %s" % (msg, e.msg))
else:
@@ -163,7 +163,7 @@ class ExceptionTests(unittest.TestCase):
import _testcapi
try:
_testcapi.raise_exception(BadException, 1)
- except TypeError, err:
+ except TypeError as err:
exc, err, tb = sys.exc_info()
co = tb.tb_frame.f_code
self.assertEquals(co.co_name, "test_capi1")
@@ -175,7 +175,7 @@ class ExceptionTests(unittest.TestCase):
import _testcapi
try:
_testcapi.raise_exception(BadException, 0)
- except RuntimeError, err:
+ except RuntimeError as err:
exc, err, tb = sys.exc_info()
co = tb.tb_frame.f_code
self.assertEquals(co.co_name, "__init__")
@@ -285,7 +285,7 @@ class ExceptionTests(unittest.TestCase):
for exc, args, expected in exceptionList:
try:
raise exc(*args)
- except BaseException, e:
+ except BaseException as e:
if type(e) is not exc:
raise
# Verify module name
@@ -344,6 +344,16 @@ class ExceptionTests(unittest.TestCase):
self.failUnless(str(Exception('a')))
self.failUnless(unicode(Exception(u'a')))
+ def testExceptionCleanup(self):
+ # Make sure "except V as N" exceptions are cleaned up properly
+
+ try:
+ raise Exception()
+ except Exception as e:
+ self.failUnless(e)
+ del e
+ self.failIf('e' in locals())
+
def test_main():
run_unittest(ExceptionTests)