summaryrefslogtreecommitdiff
path: root/cpp/src/Glacier2/Blobject.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2009-02-10 12:30:58 +0100
committerBenoit Foucher <benoit@zeroc.com>2009-02-10 12:30:58 +0100
commit20bd1ab5ed13d36b3ae40fb5840621177eeac3da (patch)
tree0f7fcc9caaf72e23b51a1b34c7bd916e3931ef67 /cpp/src/Glacier2/Blobject.cpp
parentbug 3576 - stream operations should raise exceptions instead of crash (diff)
downloadice-20bd1ab5ed13d36b3ae40fb5840621177eeac3da.tar.bz2
ice-20bd1ab5ed13d36b3ae40fb5840621177eeac3da.tar.xz
ice-20bd1ab5ed13d36b3ae40fb5840621177eeac3da.zip
Additional fix for bug 2841
Diffstat (limited to 'cpp/src/Glacier2/Blobject.cpp')
-rw-r--r--cpp/src/Glacier2/Blobject.cpp22
1 files changed, 6 insertions, 16 deletions
diff --git a/cpp/src/Glacier2/Blobject.cpp b/cpp/src/Glacier2/Blobject.cpp
index fee88f5780c..ae3ae5441b6 100644
--- a/cpp/src/Glacier2/Blobject.cpp
+++ b/cpp/src/Glacier2/Blobject.cpp
@@ -53,11 +53,9 @@ public:
//
if(_connection)
{
- try
- {
- ex.ice_throw();
- }
- catch(const Ice::ConnectionLostException&)
+ if(dynamic_cast<const Ice::SocketException*>(&ex) ||
+ dynamic_cast<const Ice::TimeoutException*>(&ex) ||
+ dynamic_cast<const Ice::ProtocolException*>(&ex))
{
try
{
@@ -67,9 +65,6 @@ public:
{
}
}
- catch(const Exception&)
- {
- }
}
_amdCB->ice_exception(ex);
@@ -115,11 +110,9 @@ public:
//
if(_connection)
{
- try
- {
- ex.ice_throw();
- }
- catch(const Ice::ConnectionLostException&)
+ if(dynamic_cast<const Ice::SocketException*>(&ex) ||
+ dynamic_cast<const Ice::TimeoutException*>(&ex) ||
+ dynamic_cast<const Ice::ProtocolException*>(&ex))
{
try
{
@@ -129,9 +122,6 @@ public:
{
}
}
- catch(const Exception&)
- {
- }
}
_amdCB->ice_exception(ex);