diff options
author | Michi Henning <michi@zeroc.com> | 2007-11-21 16:37:35 +1000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2007-11-21 16:37:35 +1000 |
commit | a383113f0becaa15b7e047798aa57026133f9077 (patch) | |
tree | db198efbd739eb6b6b3864c4fdbc0385e4f326be /java/src/IceInternal/LocalExceptionWrapper.java | |
parent | Fix a problem where protocol selection and other runtime flags were (diff) | |
download | ice-a383113f0becaa15b7e047798aa57026133f9077.tar.bz2 ice-a383113f0becaa15b7e047798aa57026133f9077.tar.xz ice-a383113f0becaa15b7e047798aa57026133f9077.zip |
Bug 2541.
Diffstat (limited to 'java/src/IceInternal/LocalExceptionWrapper.java')
-rw-r--r-- | java/src/IceInternal/LocalExceptionWrapper.java | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/java/src/IceInternal/LocalExceptionWrapper.java b/java/src/IceInternal/LocalExceptionWrapper.java index 9ed74e2246f..b41867594f4 100644 --- a/java/src/IceInternal/LocalExceptionWrapper.java +++ b/java/src/IceInternal/LocalExceptionWrapper.java @@ -45,7 +45,7 @@ public class LocalExceptionWrapper extends Exception } public static void - throwUnknownWrapper(java.lang.Throwable ex) throws LocalExceptionWrapper + throwWrapper(java.lang.Throwable ex) throws LocalExceptionWrapper { if(ex instanceof Ice.UserException) { @@ -53,30 +53,22 @@ public class LocalExceptionWrapper extends Exception } if(ex instanceof Ice.LocalException) { - /* - // - // Commented-out code makes local exceptions fully location transparent, - // but the Freeze evictor relies on them not being transparent. - // if(ex instanceof Ice.UnknownException || ex instanceof Ice.ObjectNotExistException || ex instanceof Ice.OperationNotExistException || - ex instanceof Ice.FacetNotExistException) + ex instanceof Ice.FacetNotExistException || + ex instanceof Ice.CollocationOptimizationException || + ex instanceof Ice.SystemException) { throw new LocalExceptionWrapper((Ice.LocalException)ex, false); } - throw new LocalExceptionWrapper(new Ice.UnknownLocalException(ex.ice_name()), false); - */ - throw new LocalExceptionWrapper((Ice.LocalException)ex, false); - } - /* - throw new LocalExceptionWrapper(new Ice.UnknownException(ex.ice_name()), false); - */ - - if(ex instanceof RuntimeException) - { - throw (RuntimeException)ex; + throw new LocalExceptionWrapper(new Ice.UnknownLocalException(((Ice.LocalException)ex).ice_name()), false); } + java.io.StringWriter sw = new java.io.StringWriter(); + java.io.PrintWriter pw = new java.io.PrintWriter(sw); + ex.printStackTrace(pw); + pw.flush(); + throw new LocalExceptionWrapper(new Ice.UnknownException(sw.toString()), false); } private Ice.LocalException _ex; |