summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/Outgoing.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-10-10 16:00:58 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-10-10 16:00:58 +0200
commit8bcfc9e4a8a1de3d72e30ffc6f3c9d72a8d3f0e4 (patch)
tree1cdcd88fccb57f88d2b47cd1757b4d43bc05be4b /java/src/IceInternal/Outgoing.java
parentAdded IceGridGUI IceStorm metrics (diff)
downloadice-8bcfc9e4a8a1de3d72e30ffc6f3c9d72a8d3f0e4.tar.bz2
ice-8bcfc9e4a8a1de3d72e30ffc6f3c9d72a8d3f0e4.tar.xz
ice-8bcfc9e4a8a1de3d72e30ffc6f3c9d72a8d3f0e4.zip
Improved tracing of failures, user exceptions are now tracked
with a userException member.
Diffstat (limited to 'java/src/IceInternal/Outgoing.java')
-rw-r--r--java/src/IceInternal/Outgoing.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/java/src/IceInternal/Outgoing.java b/java/src/IceInternal/Outgoing.java
index 9a4d0fba420..90848d502e6 100644
--- a/java/src/IceInternal/Outgoing.java
+++ b/java/src/IceInternal/Outgoing.java
@@ -321,6 +321,10 @@ public final class Outgoing implements OutgoingMessageCallback
case ReplyStatus.replyUserException:
{
+ if(_observer != null)
+ {
+ _observer.userException();
+ }
_state = StateUserException; // The state must be set last, in case there is an exception.
break;
}
@@ -440,6 +444,7 @@ public final class Outgoing implements OutgoingMessageCallback
assert(_state <= StateInProgress);
if(_remoteObserver != null)
{
+ _remoteObserver.failed(ex.ice_name());
_remoteObserver.detach();
_remoteObserver = null;
}
@@ -529,10 +534,6 @@ public final class Outgoing implements OutgoingMessageCallback
}
catch(Ice.UserException ex)
{
- if(_observer != null)
- {
- _observer.failed(ex.ice_name());
- }
_is.endReadEncaps();
throw ex;
}