diff options
author | Mark Spruiell <mes@zeroc.com> | 2010-05-25 12:51:32 -0700 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2010-05-25 12:51:32 -0700 |
commit | 55cba35c1f920b42c1491547e51b77a507dee80a (patch) | |
tree | 4ab7a28f52b076e1a31555f96fb48815f47b6943 /cpp | |
parent | bug 4758 - bogus C++ streaming code for nested types (diff) | |
download | ice-55cba35c1f920b42c1491547e51b77a507dee80a.tar.bz2 ice-55cba35c1f920b42c1491547e51b77a507dee80a.tar.xz ice-55cba35c1f920b42c1491547e51b77a507dee80a.zip |
bug 4714 - improve FreezeScript exception handling
Diffstat (limited to 'cpp')
-rwxr-xr-x | cpp/src/FreezeScript/DumpDB.cpp | 9 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Util.cpp | 7 | ||||
-rwxr-xr-x | cpp/src/FreezeScript/transformdb.cpp | 5 |
3 files changed, 13 insertions, 8 deletions
diff --git a/cpp/src/FreezeScript/DumpDB.cpp b/cpp/src/FreezeScript/DumpDB.cpp index fca6163b4a3..c4b0e715341 100755 --- a/cpp/src/FreezeScript/DumpDB.cpp +++ b/cpp/src/FreezeScript/DumpDB.cpp @@ -623,9 +623,14 @@ main(int argc, char* argv[]) } return EXIT_FAILURE; } - catch(const IceUtil::Exception& ex) + catch(const std::exception& ex) { - cerr << appName << ": " << ex << endl; + cerr << appName << ": " << ex.what() << endl; + status = EXIT_FAILURE; + } + catch(...) + { + cerr << appName << ": unknown error" << endl; return EXIT_FAILURE; } diff --git a/cpp/src/FreezeScript/Util.cpp b/cpp/src/FreezeScript/Util.cpp index 16363eb054e..f59b5637d63 100644 --- a/cpp/src/FreezeScript/Util.cpp +++ b/cpp/src/FreezeScript/Util.cpp @@ -244,10 +244,15 @@ FreezeScript::readCatalog(const Ice::CommunicatorPtr& communicator, const string dbEnv.close(0); throw FailureException(__FILE__, __LINE__, string("database error: ") + ex.what()); } + catch(const IceUtil::FileLockException&) + { + dbEnv.close(0); + throw FailureException(__FILE__, __LINE__, "environment `" + dbEnvName + "' is locked"); + } catch(...) { dbEnv.close(0); - throw FailureException(__FILE__, __LINE__, "unknown exception"); + throw; } dbEnv.close(0); diff --git a/cpp/src/FreezeScript/transformdb.cpp b/cpp/src/FreezeScript/transformdb.cpp index add21992e10..af0604e5a98 100755 --- a/cpp/src/FreezeScript/transformdb.cpp +++ b/cpp/src/FreezeScript/transformdb.cpp @@ -924,11 +924,6 @@ main(int argc, char* argv[]) } status = EXIT_FAILURE; } - catch(const IceUtil::Exception& ex) - { - cerr << appName << ": " << ex << endl; - status = EXIT_FAILURE; - } catch(const std::exception& ex) { cerr << appName << ": " << ex.what() << endl; |