Cleanup in test_import and test_coding.
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py
index 7ac3af0..7f5ddb1 100644
--- a/Lib/test/test_coding.py
+++ b/Lib/test/test_coding.py
@@ -16,22 +16,19 @@
 
         path = os.path.dirname(__file__)
         filename = os.path.join(path, module_name + '.py')
-        fp = open(filename)
-        text = fp.read()
-        fp.close()
+        with open(filename) as fp:
+            text = fp.read()
         self.assertRaises(SyntaxError, compile, text, filename, 'exec')
 
     def test_error_from_string(self):
         # See http://bugs.python.org/issue6289
         input = u"# coding: ascii\n\N{SNOWMAN}".encode('utf-8')
-        try:
+        with self.assertRaises(SyntaxError) as c:
             compile(input, "<string>", "exec")
-        except SyntaxError as e:
-            expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \
-                "ordinal not in range(128)"
-            self.assertTrue(str(e).startswith(expected))
-        else:
-            self.fail("didn't raise")
+        expected = "'ascii' codec can't decode byte 0xe2 in position 16: " \
+                   "ordinal not in range(128)"
+        self.assertTrue(c.exception.args[0].startswith(expected))
+
 
 def test_main():
     test.test_support.run_unittest(CodingTest)