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();
     }


Reply via email to