summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Incoming.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-10-13 14:38:52 +0000
committerMarc Laukien <marc@zeroc.com>2001-10-13 14:38:52 +0000
commitdbb73b11c029b64880c4a1f8bc2bc5eac208869e (patch)
tree771e1eb5328075ac323cf70bc6cf453626f86c26 /cpp/src/Ice/Incoming.cpp
parenterror # in exceptions is now properly set (diff)
downloadice-dbb73b11c029b64880c4a1f8bc2bc5eac208869e.tar.bz2
ice-dbb73b11c029b64880c4a1f8bc2bc5eac208869e.tar.xz
ice-dbb73b11c029b64880c4a1f8bc2bc5eac208869e.zip
more exception cleanup
Diffstat (limited to 'cpp/src/Ice/Incoming.cpp')
-rw-r--r--cpp/src/Ice/Incoming.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index 6d1547eb060..03699a7938c 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -96,14 +96,24 @@ IceInternal::Incoming::invoke(BasicStream& is)
_os.write(p._prx);
return;
}
- catch(const Exception&)
+ catch(const LocalException&)
{
if (locator && servant)
{
locator->finished(_adapter, identity, servant, operation, cookie);
}
_os.b.resize(statusPos);
- _os.write(static_cast<Byte>(DispatchLocalException));
+ _os.write(static_cast<Byte>(DispatchUnknownLocalException));
+ throw;
+ }
+ catch(const UserException&)
+ {
+ if (locator && servant)
+ {
+ locator->finished(_adapter, identity, servant, operation, cookie);
+ }
+ _os.b.resize(statusPos);
+ _os.write(static_cast<Byte>(DispatchUnknownUserException));
throw;
}
catch(...)