summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Reference.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2016-07-25 16:19:49 -0400
committerBernard Normier <bernard@zeroc.com>2016-07-25 16:19:49 -0400
commit2747737921abaf666ec5b8eb2929c94ad0d19e05 (patch)
tree7b665da082342e141eb0547d26ce713fa501bcb2 /cpp/src/Ice/Reference.cpp
parentFix ICE-7250 - slice2cpp crash with optionals demo (diff)
downloadice-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.cpp15
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;