From: fhanik Date: Mon, 4 Apr 2011 15:46:10 +0000 (+0000) Subject: incorporate feedback based on X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=25bc8b91eea30244442052ee6f8a4306fbb6662f;p=tomcat7.0 incorporate feedback based on http://markmail.org/message/gz7lm5dpdpdgcdzq git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1088665 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java index a075fabda..7654ef09d 100644 --- a/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java +++ b/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/TrapException.java @@ -39,11 +39,10 @@ public class TrapException extends JdbcInterceptor { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try { return super.invoke(proxy, method, args); - }catch (Throwable t) { + }catch (Exception t) { Throwable exception = t; if (t instanceof InvocationTargetException) { - InvocationTargetException it = (InvocationTargetException)t; - exception = it.getCause()!=null?it.getCause():it; + exception = t.getCause()!=null?t.getCause():t; } Class exceptionClass = exception.getClass(); if (!isDeclaredException(method, exceptionClass)) { @@ -64,7 +63,7 @@ public class TrapException extends JdbcInterceptor { public boolean isDeclaredException(Method m, Class clazz) { for (Class cl : m.getExceptionTypes()) { - if (cl.equals(clazz)) return true; + if (cl.equals(clazz) || cl.isAssignableFrom(clazz)) return true; } return false; }