Issue #5622: Fix curses.wrapper to raise correct exception if curses
initialization fails.
diff --git a/Lib/curses/wrapper.py b/Lib/curses/wrapper.py
index 3cdaa82..5183ce7 100644
--- a/Lib/curses/wrapper.py
+++ b/Lib/curses/wrapper.py
@@ -43,7 +43,8 @@
         return func(stdscr, *args, **kwds)
     finally:
         # Set everything back to normal
-        stdscr.keypad(0)
-        curses.echo()
-        curses.nocbreak()
-        curses.endwin()
+        if 'stdscr' in locals():
+            stdscr.keypad(0)
+            curses.echo()
+            curses.nocbreak()
+            curses.endwin()