You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/06/27 11:56:43 UTC

svn commit: r1140083 - /commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java

Author: simonetripodi
Date: Mon Jun 27 09:56:42 2011
New Revision: 1140083

URL: http://svn.apache.org/viewvc?rev=1140083&view=rev
Log:
DIGESTER-85 Include filename or uri if Digester.parse(File file or String uri throws a SAXException

thre's no need to decorate the thrown exception, filename or uri have been logged at error level: since the request is focused on monitoring errors from 3rd-parties Digester use, logging which resource caused the error is more than enough

Modified:
    commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java

Modified: commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java
URL: http://svn.apache.org/viewvc/commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java?rev=1140083&r1=1140082&r2=1140083&view=diff
==============================================================================
--- commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java (original)
+++ commons/proper/digester/trunk/src/main/java/org/apache/commons/digester3/Digester.java Mon Jun 27 09:56:42 2011
@@ -19,6 +19,8 @@ package org.apache.commons.digester3;
  * under the License.
  */
 
+import static java.lang.String.format;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -1574,7 +1576,29 @@ public class Digester
         }
 
         configure();
-        getXMLReader().parse( input );
+
+        String systemId = input.getSystemId();
+        if ( systemId == null )
+        {
+            systemId = "(already loaded from stream)";
+        }
+
+        try
+        {
+            getXMLReader().parse( input );
+        }
+        catch ( IOException e )
+        {
+            log.error( format( "An error occurred while reading stream from '%s', see nested exceptions", systemId ),
+                       e );
+            throw e;
+        }
+        catch ( SAXException e )
+        {
+            log.error( format( "An error occurred while parsing XML from '%s', see nested exceptions", systemId ),
+                       e );
+            throw e;
+        }
         cleanup();
         return this.<T> getRoot();
     }