summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-02-12 16:05:24 -0800
committerMark Spruiell <mes@zeroc.com>2009-02-12 16:05:24 -0800
commit6e1791e76815e2dd0eeb674eda92221128e1a997 (patch)
treeefe84fe99e267c5dcacc10891883cf29848794a7 /java/src
parentFixed 3730 - Invalid metadata, but no error message (diff)
downloadice-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.java11
-rw-r--r--java/src/IceInternal/SelectorThread.java13
-rw-r--r--java/src/IceInternal/ThreadPool.java12
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;
}