diff options
author | Marc Laukien <marc@zeroc.com> | 2001-10-13 14:38:52 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-10-13 14:38:52 +0000 |
commit | dbb73b11c029b64880c4a1f8bc2bc5eac208869e (patch) | |
tree | 771e1eb5328075ac323cf70bc6cf453626f86c26 /cpp/src/Ice/Incoming.cpp | |
parent | error # in exceptions is now properly set (diff) | |
download | ice-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.cpp | 14 |
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(...) |