Clarify exception handler scope in contextlib

Moved explicit raise from inside try to try...else.
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index 84219685..e91cf46 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -98,7 +98,6 @@
                 value = type()
             try:
                 self.gen.throw(type, value, traceback)
-                raise RuntimeError("generator didn't stop after throw()")
             except StopIteration as exc:
                 # Suppress StopIteration *unless* it's the same exception that
                 # was passed to throw().  This prevents a StopIteration
@@ -124,6 +123,8 @@
                 #
                 if sys.exc_info()[1] is not value:
                     raise
+            else:
+                raise RuntimeError("generator didn't stop after throw()")
 
 
 def contextmanager(func):