|
34 | 34 |
|
35 | 35 | using namespace util::config; |
36 | 36 |
|
| 37 | +[[nodiscard]] |
37 | 38 | int |
38 | | -main(int argc, char const* argv[]) |
39 | | -try { |
40 | | - util::setTerminationHandler(); |
41 | | - util::ScopeGuard const loggerShutdownGuard{[]() { util::LogService::shutdown(); }}; |
42 | | - |
| 39 | +runApp(int argc, char const* argv[]) |
| 40 | +{ |
43 | 41 | auto const action = app::CliArgs::parse(argc, argv); |
44 | 42 | return action.apply( |
45 | 43 | [](app::CliArgs::Action::Exit const& exit) { return exit.exitCode; }, |
46 | 44 | [](app::CliArgs::Action::VerifyConfig const& verify) { |
47 | 45 | if (app::parseConfig(verify.configPath)) { |
48 | | - std::cout << "Config " << verify.configPath << " is correct" |
49 | | - << "\n"; |
| 46 | + std::cout << "Config " << verify.configPath << " is correct" << "\n"; |
50 | 47 | return EXIT_SUCCESS; |
51 | 48 | } |
52 | 49 | return EXIT_FAILURE; |
@@ -76,10 +73,22 @@ try { |
76 | 73 | return migrator.run(); |
77 | 74 | } |
78 | 75 | ); |
79 | | -} catch (std::exception const& e) { |
80 | | - LOG(util::LogService::fatal()) << "Exit on exception: " << e.what(); |
81 | | - return EXIT_FAILURE; |
82 | | -} catch (...) { |
83 | | - LOG(util::LogService::fatal()) << "Exit on exception: unknown"; |
84 | | - return EXIT_FAILURE; |
| 76 | +} |
| 77 | + |
| 78 | +int |
| 79 | +main(int argc, char const* argv[]) |
| 80 | +{ |
| 81 | + util::setTerminationHandler(); |
| 82 | + |
| 83 | + util::ScopeGuard const loggerShutdownGuard{[] { util::LogService::shutdown(); }}; |
| 84 | + |
| 85 | + try { |
| 86 | + return runApp(argc, argv); |
| 87 | + } catch (std::exception const& e) { |
| 88 | + LOG(util::LogService::fatal()) << "Exit on exception: " << e.what(); |
| 89 | + return EXIT_FAILURE; |
| 90 | + } catch (...) { |
| 91 | + LOG(util::LogService::fatal()) << "Exit on exception: unknown"; |
| 92 | + return EXIT_FAILURE; |
| 93 | + } |
85 | 94 | } |
0 commit comments