From: Razvan Becheriu Date: Wed, 9 Jun 2021 16:47:42 +0000 (+0300) Subject: [#1907] addressed comments X-Git-Tag: Kea-1.9.9~127 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e71d6748ab9098efa3fec44c67740e86b043b4b;p=thirdparty%2Fkea.git [#1907] addressed comments --- diff --git a/src/bin/agent/main.cc b/src/bin/agent/main.cc index 261318105f..a02f749b38 100644 --- a/src/bin/agent/main.cc +++ b/src/bin/agent/main.cc @@ -18,7 +18,7 @@ int main(int argc, char* argv[]) { // Launch the controller passing in command line arguments. // Exit program with the controller's return code. - try { + try { // Instantiate/fetch the application controller singleton. DControllerBasePtr& controller = CtrlAgentController::instance(); @@ -38,6 +38,9 @@ int main(int argc, char* argv[]) { } catch (const std::exception& ex) { std::cerr << "Service failed: " << ex.what() << std::endl; ret = EXIT_FAILURE; + } catch (...) { + std::cerr << "Service failed: Unknown error" << std::endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/d2/main.cc b/src/bin/d2/main.cc index 8402fda1be..4c7b317659 100644 --- a/src/bin/d2/main.cc +++ b/src/bin/d2/main.cc @@ -27,7 +27,7 @@ int main(int argc, char* argv[]) { // Launch the controller passing in command line arguments. // Exit program with the controller's return code. - try { + try { // Instantiate/fetch the DHCP-DDNS application controller singleton. DControllerBasePtr& controller = D2Controller::instance(); @@ -47,6 +47,9 @@ int main(int argc, char* argv[]) { } catch (const std::exception& ex) { std::cerr << "Service failed: " << ex.what() << std::endl; ret = EXIT_FAILURE; + } catch (...) { + std::cerr << "Service failed: Unknown error" << std::endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/dhcp4/main.cc b/src/bin/dhcp4/main.cc index 4df7bc6662..c23bd1c6ff 100644 --- a/src/bin/dhcp4/main.cc +++ b/src/bin/dhcp4/main.cc @@ -292,6 +292,10 @@ main(int argc, char* argv[]) { // Already logged so ignore } ret = EXIT_FAILURE; + } catch (...) { + cerr << DHCP4_NAME << ": Fatal error during start up: Unknown error" + << endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/dhcp6/main.cc b/src/bin/dhcp6/main.cc index 462dcea5bc..6ca6301a9c 100644 --- a/src/bin/dhcp6/main.cc +++ b/src/bin/dhcp6/main.cc @@ -292,6 +292,10 @@ main(int argc, char* argv[]) { // Already logged so ignore } ret = EXIT_FAILURE; + } catch (...) { + cerr << DHCP6_NAME << ": Fatal error during start up: Unknown error" + << endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/lfc/main.cc b/src/bin/lfc/main.cc index 16054ac234..5ded1b4f60 100644 --- a/src/bin/lfc/main.cc +++ b/src/bin/lfc/main.cc @@ -44,10 +44,12 @@ int main(int argc, char* argv[]) { } catch (const boost::exception& ex) { std::cerr << boost::diagnostic_information(ex) << std::endl; ret = EXIT_FAILURE; - } catch (const std::exception& ex) { std::cerr << "Service failed: " << ex.what() << std::endl; ret = EXIT_FAILURE; + } catch (...) { + std::cerr << "Service failed: Unknown error" << std::endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/netconf/main.cc b/src/bin/netconf/main.cc index 02bb36f9cd..0641779934 100644 --- a/src/bin/netconf/main.cc +++ b/src/bin/netconf/main.cc @@ -38,6 +38,9 @@ int main(int argc, char* argv[]) { } catch (const std::exception& ex) { std::cerr << "Service failed: " << ex.what() << std::endl; ret = EXIT_FAILURE; + } catch (...) { + std::cerr << "Service failed: Unknown error" << std::endl; + ret = EXIT_FAILURE; } return (ret); diff --git a/src/bin/perfdhcp/main.cc b/src/bin/perfdhcp/main.cc index d7dbcfccb1..0475fff143 100644 --- a/src/bin/perfdhcp/main.cc +++ b/src/bin/perfdhcp/main.cc @@ -21,7 +21,7 @@ int main(int argc, char* argv[]) { int ret_code = 0; std::string diags; - bool parsed = false; + bool parser_error = true; try { CommandOptions command_options; diags = command_options.getDiags(); @@ -35,9 +35,7 @@ main(int argc, char* argv[]) { if (command_options.parse(argc, argv, true)) { return (ret_code); } - - parsed = true; - + parser_error = false; auto scenario = command_options.getScenario(); PerfSocket socket(command_options); if (scenario == Scenario::BASIC) { @@ -49,7 +47,7 @@ main(int argc, char* argv[]) { } } catch (const std::exception& e) { ret_code = 1; - if (parsed) { + if (!parser_error) { std::cerr << std::endl << "ERROR: running perfdhcp: " << e.what() << std::endl; } else { @@ -60,6 +58,19 @@ main(int argc, char* argv[]) { if (diags.find('e') != std::string::npos) { std::cerr << "Fatal error" << std::endl; } + } catch (...) { + ret_code = 1; + if (!parser_error) { + std::cerr << std::endl << "ERROR: running perfdhcp: Unknown error" + << std::endl; + } else { + CommandOptions::usage(); + std::cerr << std::endl << "ERROR: parsing command line options: Unknown error" + << std::endl; + } + if (diags.find('e') != std::string::npos) { + std::cerr << "Fatal error" << std::endl; + } } return (ret_code); } diff --git a/src/lib/log/compiler/message.cc b/src/lib/log/compiler/message.cc index 27bbdb96c9..0359cde86e 100644 --- a/src/lib/log/compiler/message.cc +++ b/src/lib/log/compiler/message.cc @@ -526,11 +526,15 @@ main(int argc, char* argv[]) { } } - cerr << text << std::endl; + cerr << text << "\n"; return (1); } catch (const std::exception& ex) { - std::cerr << "Fatal error: " << ex.what() << std::endl; + cerr << "Fatal error: " << ex.what() << "\n"; + + return (1); + } catch (...) { + cerr << "Fatal error: Unknown error\n"; return (1); }