diff options
author | Mark Spruiell <mes@zeroc.com> | 2009-02-12 16:05:24 -0800 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2009-02-12 16:05:24 -0800 |
commit | 6e1791e76815e2dd0eeb674eda92221128e1a997 (patch) | |
tree | efe84fe99e267c5dcacc10891883cf29848794a7 /java/src | |
parent | Fixed 3730 - Invalid metadata, but no error message (diff) | |
download | ice-6e1791e76815e2dd0eeb674eda92221128e1a997.tar.bz2 ice-6e1791e76815e2dd0eeb674eda92221128e1a997.tar.xz ice-6e1791e76815e2dd0eeb674eda92221128e1a997.zip |
bug 3727 - review exception handling in Java
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ConnectionI.java | 11 | ||||
-rw-r--r-- | java/src/IceInternal/SelectorThread.java | 13 | ||||
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 12 |
3 files changed, 14 insertions, 22 deletions
diff --git a/java/src/Ice/ConnectionI.java b/java/src/Ice/ConnectionI.java index 744056bf7ba..dabf7d751be 100644 --- a/java/src/Ice/ConnectionI.java +++ b/java/src/Ice/ConnectionI.java @@ -2067,6 +2067,17 @@ public final class ConnectionI extends IceInternal.EventHandler implements Conne _logger.error(uex.unknown); invokeException(uex, invokeNum); } + catch(java.lang.OutOfMemoryError ex) + { + UnknownException uex = new UnknownException(); + java.io.StringWriter sw = new java.io.StringWriter(); + java.io.PrintWriter pw = new java.io.PrintWriter(sw); + ex.printStackTrace(pw); + pw.flush(); + uex.unknown = sw.toString(); + _logger.error(uex.unknown); + invokeException(uex, invokeNum); + } finally { if(in != null) diff --git a/java/src/IceInternal/SelectorThread.java b/java/src/IceInternal/SelectorThread.java index c253b785546..d130f71d830 100644 --- a/java/src/IceInternal/SelectorThread.java +++ b/java/src/IceInternal/SelectorThread.java @@ -203,7 +203,7 @@ public class SelectorThread status = cb.socketReady(); } } - catch(Ice.LocalException ex) + catch(java.lang.Exception ex) { java.io.StringWriter sw = new java.io.StringWriter(); java.io.PrintWriter pw = new java.io.PrintWriter(sw); @@ -272,22 +272,13 @@ public class SelectorThread { SelectorThread.this.run(); } - catch(Ice.LocalException ex) - { - java.io.StringWriter sw = new java.io.StringWriter(); - java.io.PrintWriter pw = new java.io.PrintWriter(sw); - ex.printStackTrace(pw); - pw.flush(); - String s = "exception in selector thread " + getName() + ":\n" + sw.toString(); - _instance.initializationData().logger.error(s); - } catch(java.lang.Exception ex) { java.io.StringWriter sw = new java.io.StringWriter(); java.io.PrintWriter pw = new java.io.PrintWriter(sw); ex.printStackTrace(pw); pw.flush(); - String s = "unknown exception in selector thread " + getName() + ":\n" + sw.toString(); + String s = "exception in selector thread " + getName() + ":\n" + sw.toString(); _instance.initializationData().logger.error(s); } } diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index d6d1235a821..b7e7ad81461 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -964,23 +964,13 @@ public final class ThreadPool { promote = ThreadPool.this.run(stream); } - catch(Ice.LocalException ex) - { - java.io.StringWriter sw = new java.io.StringWriter(); - java.io.PrintWriter pw = new java.io.PrintWriter(sw); - ex.printStackTrace(pw); - pw.flush(); - String s = "exception in `" + _prefix + "' thread " + getName() + ":\n" + sw.toString(); - _instance.initializationData().logger.error(s); - promote = true; - } catch(java.lang.Exception ex) { java.io.StringWriter sw = new java.io.StringWriter(); java.io.PrintWriter pw = new java.io.PrintWriter(sw); ex.printStackTrace(pw); pw.flush(); - String s = "unknown exception in `" + _prefix + "' thread " + getName() + ":\n" + sw.toString(); + String s = "exception in `" + _prefix + "' thread " + getName() + ":\n" + sw.toString(); _instance.initializationData().logger.error(s); promote = true; } |