diff options
author | Bernard Normier <bernard@zeroc.com> | 2016-07-25 16:19:49 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2016-07-25 16:19:49 -0400 |
commit | 2747737921abaf666ec5b8eb2929c94ad0d19e05 (patch) | |
tree | 7b665da082342e141eb0547d26ce713fa501bcb2 /cpp/src/Ice/Reference.cpp | |
parent | Fix ICE-7250 - slice2cpp crash with optionals demo (diff) | |
download | ice-2747737921abaf666ec5b8eb2929c94ad0d19e05.tar.bz2 ice-2747737921abaf666ec5b8eb2929c94ad0d19e05.tar.xz ice-2747737921abaf666ec5b8eb2929c94ad0d19e05.zip |
Simplified exception-related code
Reduced VS 2015 U3 optimizer disabling
Diffstat (limited to 'cpp/src/Ice/Reference.cpp')
-rw-r--r-- | cpp/src/Ice/Reference.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp index 4e28f98dac7..92ca821b3e9 100644 --- a/cpp/src/Ice/Reference.cpp +++ b/cpp/src/Ice/Reference.cpp @@ -1777,22 +1777,15 @@ IceInternal::RoutableReference::createConnection(const vector<EndpointIPtr>& all virtual void setException(const Ice::LocalException& ex) { - if(!ICE_EXCEPTION_ISSET(_exception)) + if(!_exception) { - ICE_RESET_EXCEPTION(_exception, ex.ice_clone()); + ICE_SET_EXCEPTION_FROM_CLONE(_exception, ex.ice_clone()); } if(++_i == _endpoints.size()) { - try - { - ICE_RETHROW_EXCEPTION(_exception); - } - catch(const Ice::LocalException& ee) - { - _callback->setException(ee); - return; - } + _callback->setException(*_exception); + return; } const bool more = _i != _endpoints.size() - 1; |