You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2014/11/12 18:37:42 UTC

svn commit: r1638883 - /sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java

Author: bdelacretaz
Date: Wed Nov 12 17:37:42 2014
New Revision: 1638883

URL: http://svn.apache.org/r1638883
Log:
SLING-4143 - we're catching all Throwable anyway

Modified:
    sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java

Modified: sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java?rev=1638883&r1=1638882&r2=1638883&view=diff
==============================================================================
--- sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java (original)
+++ sling/trunk/bundles/servlets/resolver/src/main/java/org/apache/sling/servlets/resolver/internal/SlingServletResolver.java Wed Nov 12 17:37:42 2014
@@ -756,7 +756,7 @@ public class SlingServletResolver
         }
 
         // Let the error handler servlet process the request and
-        // forward exceptions (but not throwable) if it fails.
+        // forward all exceptions if it fails.
         // Before SLING-4143 we only forwarded IOExceptions.
         try {
             errorHandler.service(request, response);
@@ -764,16 +764,13 @@ public class SlingServletResolver
             response.flushBuffer();
             // close the response (SLING-2724)
             response.getWriter().close();
-        } catch (final IOException ioe) {
-            throw ioe;
-        } catch (final Exception e) {
-            throw new IOException("Error handling servlet failed", e);
-        } catch (final Error r) {
-            throw r;
         } catch (final Throwable t) {
             LOGGER.error("Calling the error handler resulted in an error", t);
             LOGGER.error("Original error " + request.getAttribute(SlingConstants.ERROR_EXCEPTION_TYPE),
                     (Throwable) request.getAttribute(SlingConstants.ERROR_EXCEPTION));
+            final IOException x = new IOException("Error handler failed: " + t.getClass().getName());
+            x.initCause(t);
+            throw x;
         }
     }