Use try-except-finally in contextlib.
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index a807c42..4f83ef6 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -105,15 +105,14 @@
     vars = []
     exc = (None, None, None)
     try:
-        try:
-            for mgr in managers:
-                exit = mgr.__exit__
-                enter = mgr.__enter__
-                vars.append(enter())
-                exits.append(exit)
-            yield vars
-        except:
-            exc = sys.exc_info()
+        for mgr in managers:
+            exit = mgr.__exit__
+            enter = mgr.__enter__
+            vars.append(enter())
+            exits.append(exit)
+        yield vars
+    except:
+        exc = sys.exc_info()
     finally:
         while exits:
             exit = exits.pop()