From 928de19fed51e7fe3aadf71322b0aef16613fb45 Mon Sep 17 00:00:00 2001 From: gereon Date: Fri, 15 Mar 2013 14:09:09 +0100 Subject: [PATCH] Reorganized main routine. Catching errors that made it to the top level. --- src/storm.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/storm.cpp b/src/storm.cpp index cd98354a6..05cebb181 100644 --- a/src/storm.cpp +++ b/src/storm.cpp @@ -458,20 +458,27 @@ void testChecking() { * Main entry point. */ int main(const int argc, const char* argv[]) { + printHeader(argc, argv); + initializeLogger(); if (!parseOptions(argc, argv)) { return 0; } setUp(); - LOG4CPLUS_INFO(logger, "StoRM was invoked."); - printHeader(argc, argv); + try { + LOG4CPLUS_INFO(logger, "StoRM was invoked."); - testChecking(); + testChecking(); - cleanUp(); + cleanUp(); - LOG4CPLUS_INFO(logger, "StoRM quit."); + LOG4CPLUS_INFO(logger, "StoRM quit."); - return 0; + return 0; + } catch (std::exception& e) { + LOG4CPLUS_FATAL(logger, "An exception was thrown but not catched. All we can do now is show it to you and die in peace..."); + LOG4CPLUS_FATAL(logger, "\t" << e.what()); + } + return 1; }