fix None errno #5312
diff --git a/Lib/os.py b/Lib/os.py
index 5a020d3..65f88ba 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -372,8 +372,8 @@
                 saved_exc = e
                 saved_tb = tb
     if saved_exc:
-        raise error(saved_exc).with_traceback(saved_tb)
-    raise error(last_exc).with_traceback(tb)
+        raise saved_exc.with_traceback(saved_tb)
+    raise last_exc.with_traceback(tb)
 
 
 # Change environ to automatically call putenv(), unsetenv if they exist.
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 5d3e040..2070495 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -535,7 +535,7 @@
             # Windows raises IOError
             except (IOError, OSError) as err:
                 if err.errno != 2:  # ignore "no such file"
-                    pass # XXX see #5312
+                    raise
 
     #
     # POSIX tests