diff options
author | Marc Laukien <marc@zeroc.com> | 2002-12-07 22:17:44 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-12-07 22:17:44 +0000 |
commit | bec87e9b6a7edcbbfce5fadb520c41816143a8be (patch) | |
tree | d428b8bf9306090d456b198c87d34e0dd048a5cb /cpp/src/Ice/Object.cpp | |
parent | AMD exception cleanup (diff) | |
download | ice-bec87e9b6a7edcbbfce5fadb520c41816143a8be.tar.bz2 ice-bec87e9b6a7edcbbfce5fadb520c41816143a8be.tar.xz ice-bec87e9b6a7edcbbfce5fadb520c41816143a8be.zip |
more AMD exception fixes
Diffstat (limited to 'cpp/src/Ice/Object.cpp')
-rw-r--r-- | cpp/src/Ice/Object.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index 14a7e935296..ac3448c8b7a 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -437,6 +437,21 @@ Ice::BlobjectAsync::__dispatch(Incoming& in, const Current& current) Int sz = in.is()->getReadEncapsSize(); in.is()->readBlob(inParams, sz); AMD_Object_ice_invokePtr cb = new ::IceAsync::Ice::AMD_Object_ice_invoke(in); - ice_invoke_async(cb, inParams, current); + try + { + ice_invoke_async(cb, inParams, current); + } + catch(const Exception& ex) + { + cb->ice_exception(ex); + } + catch(const ::std::exception& ex) + { + cb->ice_exception(ex); + } + catch(...) + { + cb->ice_exception(); + } return ::IceInternal::DispatchOK; } |