summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/Freeze/ConnectionI.cpp10
-rw-r--r--cpp/src/Freeze/MapDb.cpp3
-rw-r--r--cpp/src/Freeze/ObjectStore.cpp10
3 files changed, 20 insertions, 3 deletions
diff --git a/cpp/src/Freeze/ConnectionI.cpp b/cpp/src/Freeze/ConnectionI.cpp
index 18c3f2449e1..85b8642027e 100644
--- a/cpp/src/Freeze/ConnectionI.cpp
+++ b/cpp/src/Freeze/ConnectionI.cpp
@@ -153,7 +153,15 @@ Freeze::ConnectionI::__getRefNoSync() const
Freeze::ConnectionI::~ConnectionI()
{
- close();
+ try
+ {
+ close();
+ }
+ catch(const DatabaseException& ex)
+ {
+ Ice::Error error(_communicator->getLogger());
+ error << "Freeze: closing connection Freeze.DbEnv: " << _envName << " raised DatabaseException: " << ex.what();
+ }
}
Freeze::ConnectionI::ConnectionI(const SharedDbEnvPtr& dbEnv) :
diff --git a/cpp/src/Freeze/MapDb.cpp b/cpp/src/Freeze/MapDb.cpp
index 075115fb162..c8ce865f64a 100644
--- a/cpp/src/Freeze/MapDb.cpp
+++ b/cpp/src/Freeze/MapDb.cpp
@@ -72,7 +72,8 @@ Freeze::MapDb::~MapDb()
}
catch(const ::DbException& dx)
{
- throw DatabaseException(__FILE__, __LINE__, dx.what());
+ Ice::Error error(_communicator->getLogger());
+ error << "Freeze.Map: closing Db " << _dbName << " raised DbException: " << dx.what();
}
}
}
diff --git a/cpp/src/Freeze/ObjectStore.cpp b/cpp/src/Freeze/ObjectStore.cpp
index 55d5e243c66..189ffe4ad49 100644
--- a/cpp/src/Freeze/ObjectStore.cpp
+++ b/cpp/src/Freeze/ObjectStore.cpp
@@ -208,7 +208,15 @@ Freeze::ObjectStoreBase::~ObjectStoreBase()
for(size_t i = 0; i < _indices.size(); ++i)
{
- _indices[i]->_impl->close();
+ try
+ {
+ _indices[i]->_impl->close();
+ }
+ catch(const DatabaseException& ex)
+ {
+ Ice::Error error(_communicator->getLogger());
+ error << "Freeze: closing ObjectStore " << _dbName << " raised DatabaseException: " << ex.what();
+ }
}
_indices.clear();
}