Applied simplifications suggested by Greg Stein.
diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py
index 1de17ee..fd8804d 100644
--- a/Lib/curses/wrapper.py
+++ b/Lib/curses/wrapper.py
@@ -17,7 +17,6 @@
     wrapper().
     """
     
-    res = None
     try:
 	# Initialize curses
 	stdscr=curses.initscr()
@@ -30,21 +29,11 @@
 	# a special value like curses.KEY_LEFT will be returned
         stdscr.keypad(1)
 
-        res = apply(func, (stdscr,) + rest)
-    except:
-	# In the event of an error, restore the terminal
-	# to a sane state.
+	return apply(func, (stdscr,) + rest)
+
+    finally:
+	# Restore the terminal to a sane state on the way out.
 	stdscr.keypad(0)
 	curses.echo() ; curses.nocbreak()
 	curses.endwin()
-        # Pass the exception upwards
-        (exc_type, exc_value, exc_traceback) = sys.exc_info()
-        raise exc_type, exc_value, exc_traceback
-    else:
-	# Set everything back to normal
-	stdscr.keypad(0)
-	curses.echo() ; curses.nocbreak()
-	curses.endwin()		 # Terminate curses
-
-        return res