From 5006d36afddb71c5d10621c946d1aa92a5ad7678 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 27 Sep 2010 22:22:02 +0000 Subject: [PATCH] Partial fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=48644 Some Throwables must always be re-thrown git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1001938 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/naming/NamingService.java | 8 +++----- java/org/apache/naming/factory/ResourceFactory.java | 12 ++++++------ .../apache/naming/factory/webservices/ServiceRefFactory.java | 12 ++++++------ 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/java/org/apache/naming/NamingService.java b/java/org/apache/naming/NamingService.java index f995bb22e..92ee1a520 100644 --- a/java/org/apache/naming/NamingService.java +++ b/java/org/apache/naming/NamingService.java @@ -156,7 +156,7 @@ public final class NamingService + ".java.javaURLContextFactory"); } - } catch (Throwable t) { + } catch (Exception e) { state = STOPPED; notification = new AttributeChangeNotification (this, sequenceNumber++, System.currentTimeMillis(), @@ -198,11 +198,9 @@ public final class NamingService System.setProperty(Context.URL_PKG_PREFIXES, oldUrlValue); System.setProperty(Context.INITIAL_CONTEXT_FACTORY, oldIcValue); - } catch (Throwable t) { - + } catch (Exception e) { // FIXME - t.printStackTrace(); - + e.printStackTrace(); } state = STOPPED; diff --git a/java/org/apache/naming/factory/ResourceFactory.java b/java/org/apache/naming/factory/ResourceFactory.java index d3f496766..17791757e 100644 --- a/java/org/apache/naming/factory/ResourceFactory.java +++ b/java/org/apache/naming/factory/ResourceFactory.java @@ -98,12 +98,12 @@ public class ResourceFactory if (factoryClass != null) { try { factory = (ObjectFactory) factoryClass.newInstance(); - } catch (Throwable t) { - if (t instanceof NamingException) - throw (NamingException) t; + } catch (Exception e) { + if (e instanceof NamingException) + throw (NamingException) e; NamingException ex = new NamingException ("Could not create resource factory instance"); - ex.initCause(t); + ex.initCause(e); throw ex; } } @@ -116,10 +116,10 @@ public class ResourceFactory factory = (ObjectFactory) Class.forName(javaxSqlDataSourceFactoryClassName) .newInstance(); - } catch (Throwable t) { + } catch (Exception e) { NamingException ex = new NamingException ("Could not create resource factory instance"); - ex.initCause(t); + ex.initCause(e); throw ex; } } else if (ref.getClassName().equals("javax.mail.Session")) { diff --git a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java index c43a04df6..2382b4c7a 100644 --- a/java/org/apache/naming/factory/webservices/ServiceRefFactory.java +++ b/java/org/apache/naming/factory/webservices/ServiceRefFactory.java @@ -143,10 +143,10 @@ public class ServiceRefFactory service = factory.createService( new URL(wsdlRefAddr), serviceQname ); } - } catch (Throwable t) { + } catch (Exception e) { NamingException ex = new NamingException ("Could not create service"); - ex.initCause(t); + ex.initCause(e); throw ex; } } else { @@ -175,10 +175,10 @@ public class ServiceRefFactory serviceInterfaceClass, new Properties() ); } - } catch (Throwable t) { + } catch (Exception e) { NamingException ex = new NamingException ("Could not create service"); - ex.initCause(t); + ex.initCause(e); throw ex; } } @@ -207,10 +207,10 @@ public class ServiceRefFactory m.invoke(service, new Object[] {port.getName(), endpoint }); portComponentRef.put(endpoint, new QName(port.getName())); } - } catch (Throwable t) { + } catch (Exception e) { NamingException ex = new NamingException ("Error while reading Wsdl File"); - ex.initCause(t); + ex.initCause(e); throw ex; } } -- 2.11.0