summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2010-05-25 12:51:32 -0700
committerMark Spruiell <mes@zeroc.com>2010-05-25 12:51:32 -0700
commit55cba35c1f920b42c1491547e51b77a507dee80a (patch)
tree4ab7a28f52b076e1a31555f96fb48815f47b6943 /cpp/src
parentbug 4758 - bogus C++ streaming code for nested types (diff)
downloadice-55cba35c1f920b42c1491547e51b77a507dee80a.tar.bz2
ice-55cba35c1f920b42c1491547e51b77a507dee80a.tar.xz
ice-55cba35c1f920b42c1491547e51b77a507dee80a.zip
bug 4714 - improve FreezeScript exception handling
Diffstat (limited to 'cpp/src')
-rwxr-xr-xcpp/src/FreezeScript/DumpDB.cpp9
-rw-r--r--cpp/src/FreezeScript/Util.cpp7
-rwxr-xr-xcpp/src/FreezeScript/transformdb.cpp5
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;