diff options
Diffstat (limited to 'cpp/src/Freeze/SharedDbEnv.cpp')
-rw-r--r-- | cpp/src/Freeze/SharedDbEnv.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/cpp/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp index 88ca89dbedd..b163fbe3d6d 100644 --- a/cpp/src/Freeze/SharedDbEnv.cpp +++ b/cpp/src/Freeze/SharedDbEnv.cpp @@ -565,7 +565,25 @@ Freeze::SharedDbEnv::cleanup() // for(SharedDbMap::iterator p = _sharedDbMap.begin(); p != _sharedDbMap.end(); ++p) { - delete p->second; + try + { + delete p->second; + } + catch(const DatabaseException& ex) + { + Error out(_communicator->getLogger()); + out << "Freeze map: \"" << p->first << "\" close error: " << ex; + } + catch(const std::exception& ex) + { + Error out(_communicator->getLogger()); + out << "Freeze map: \"" << p->first << "\" close error: " << ex.what(); + } + catch(...) + { + Error out(_communicator->getLogger()); + out << "Freeze map: \"" << p->first << "\" close error: unknown exception."; + } } // |