diff options
Diffstat (limited to 'cpp/src/Ice/Application.cpp')
-rw-r--r-- | cpp/src/Ice/Application.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index c826f07524e..660a216c131 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -91,6 +91,12 @@ Ice::Application::main(int argc, const char* const argv[], ICE_CONFIG_FILE_STRIN initData.properties = createProperties(); initData.properties->load(configFile); } + catch(const Ice::Exception& ex) + { + Error out(getProcessLogger()); + out << ex; + return EXIT_FAILURE; + } catch(const std::exception& ex) { Error out(getProcessLogger()); @@ -154,6 +160,12 @@ Ice::Application::main(int argc, const char* const argv[], const InitializationD { initData.properties = createProperties(av.argc, av.argv, initData.properties); } + catch(const Ice::Exception& ex) + { + Error out(getProcessLogger()); + out << ex; + return EXIT_FAILURE; + } catch(const std::exception& ex) { Error out(getProcessLogger()); @@ -427,6 +439,12 @@ Ice::Application::doMain(int argc, char* argv[], const InitializationData& initD status = run(argc, argv); } + catch(const Ice::Exception& ex) + { + Error out(getProcessLogger()); + out << ex; + status = EXIT_FAILURE; + } catch(const std::exception& ex) { Error out(getProcessLogger()); @@ -614,6 +632,11 @@ Ice::Application::callbackOnInterruptCallback(int signal) assert(_application != 0); _application->interruptCallback(signal); } + catch(const Ice::Exception& ex) + { + Error out(getProcessLogger()); + out << "(while interrupting in response to signal " << signal << "): Ice::Exception: " << ex; + } catch(const std::exception& ex) { Error out(getProcessLogger()); |