summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Proxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r--cpp/src/Ice/Proxy.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index fabfdf7c0f2..22160f121f2 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -422,7 +422,15 @@ IceProxy::Ice::Object::__getDelegate()
else
{
_delegate = __createDelegateM();
- _delegate->setup(_reference);
+ try
+ {
+ _delegate->setup(_reference);
+ }
+ catch(...)
+ {
+ _delegate = 0;
+ throw;
+ }
}
}