summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/SharedDbEnv.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2008-01-10 15:24:19 -0500
committerBernard Normier <bernard@zeroc.com>2008-01-10 15:24:19 -0500
commita9516487052db448062883603c3be9e5e4c5659a (patch)
tree692d5a5584571be017b930dd63ba5772214f195c /cpp/src/Freeze/SharedDbEnv.cpp
parentMoved a number of classes from IceUtil to IceUtilInternal (diff)
downloadice-a9516487052db448062883603c3be9e5e4c5659a.tar.bz2
ice-a9516487052db448062883603c3be9e5e4c5659a.tar.xz
ice-a9516487052db448062883603c3be9e5e4c5659a.zip
Fixed bugs 2625 and 2627
Diffstat (limited to 'cpp/src/Freeze/SharedDbEnv.cpp')
-rw-r--r--cpp/src/Freeze/SharedDbEnv.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/cpp/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp
index 956dedc94c4..90d852d324c 100644
--- a/cpp/src/Freeze/SharedDbEnv.cpp
+++ b/cpp/src/Freeze/SharedDbEnv.cpp
@@ -131,7 +131,25 @@ Freeze::SharedDbEnv::get(const CommunicatorPtr& communicator, const string& envN
Freeze::SharedDbEnv::~SharedDbEnv()
{
- cleanup();
+ try
+ {
+ cleanup();
+ }
+ catch(const Ice::Exception& ex)
+ {
+ Error out(_communicator->getLogger());
+ out << "Freeze DbEnv close error:" << ex;
+ }
+ catch(const std::exception& ex)
+ {
+ Error out(_communicator->getLogger());
+ out << "Freeze DbEnv close error:" << ex.what();
+ }
+ catch(...)
+ {
+ Error out(_communicator->getLogger());
+ out << "Freeze DbEnv close error: unknown exception";
+ }
}