import.c now catchs _Py_stat() exceptions

_Py_stat() now returns -2 if an exception was raised.
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index fd89e9b..ed835c9 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -102,6 +102,8 @@
         int rv;
 
         rv = _Py_stat(filename, &statbuf);
+        if (rv == -2)
+            goto error;
         if (rv == 0) {
             /* it exists */
             if (!S_ISREG(statbuf.st_mode))
@@ -109,8 +111,6 @@
                 Py_CLEAR(filename);
             break;
         }
-        else if (PyErr_Occurred())
-            goto error;
         Py_CLEAR(filename);
         /* back up one path element */
         flen = PyUnicode_FindChar(path, SEP, 0, flen, -1);