diff --git a/src/server/server.cpp b/src/server/server.cpp index ccdf2cab9a16..fa028588467a 100644 --- a/src/server/server.cpp +++ b/src/server/server.cpp @@ -2836,7 +2836,12 @@ int main(int argc, char** argv) { } } - wesnothd::server(port, keep_alive, config_file, min_threads, max_threads).run(); + try { + wesnothd::server(port, keep_alive, config_file, min_threads, max_threads).run(); + } catch(std::exception& e) { + ERR_SERVER << "terminated by C++ exception: " << e.what() << std::endl; + return 1; + } return 0; }