--- /home/cpdev/src/classpath/gnu/xml/stream/SAXParser.java	2006-01-23 17:32:53.000000000 +0000
+++ gnu/xml/stream/SAXParser.java	2006-01-10 15:59:39.000000000 +0000
@@ -650,7 +650,7 @@
               }
           }
       }
-    catch (Exception e)
+    catch (XMLStreamException e)
       {
         if (!startDocumentDone && contentHandler != null)
           contentHandler.startDocument();
@@ -660,16 +660,13 @@
           errorHandler.fatalError(e2);
         if (contentHandler != null)
           contentHandler.endDocument();
-        if (e instanceof IOException)
-          throw (IOException) e;
-        else
-          throw e2;
+        throw e2;
       }
     finally
       {
-        reset();
         if (opened)
           in.close();
+        reset();
       }
   }
 
