From 78fbbe27260b63c60d3609f2859c045067c0de89 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 22 Mar 2025 14:05:49 +0800 Subject: internal: catch exceptions at main() --- src/main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 6b813e8..df50598 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -34,7 +34,7 @@ static void help() { } // TODO: ARGC, ARGV. the CServer ctor should take a port number -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) try { std::vector args{argv + 1, argv + argc}; if (args.empty()) { help(); @@ -80,4 +80,10 @@ int main(int argc, char *argv[]) { g_pChatServer.reset(); return EXIT_SUCCESS; +} catch (const std::exception &e) { + log(ERR, "Fatal error: {}", e.what()); + return EXIT_FAILURE; +} catch (...) { + log(ERR, "Unknown fatal error occurred"); + return EXIT_FAILURE; } -- cgit v1.2.3