From f7480aad6e2de40078689e5167e2df186f26b174 Mon Sep 17 00:00:00 2001 From: cryptocode <34946442+cryptocode@users.noreply.github.com> Date: Tue, 9 Oct 2018 17:11:02 +0200 Subject: [PATCH] Log common exceptions before asserting (#1278) --- rai/node/logging.hpp | 2 ++ rai/node/node.cpp | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/rai/node/logging.hpp b/rai/node/logging.hpp index ebf19ecb..24dcc274 100644 --- a/rai/node/logging.hpp +++ b/rai/node/logging.hpp @@ -6,6 +6,8 @@ #include #include +#define FATAL_LOG_PREFIX "FATAL ERROR: " + namespace rai { class logging diff --git a/rai/node/node.cpp b/rai/node/node.cpp index c7e363ff..805f64ce 100644 --- a/rai/node/node.cpp +++ b/rai/node/node.cpp @@ -51,8 +51,24 @@ on (true) { process_packets (); } + catch (boost::system::error_code & ec) + { + BOOST_LOG (this->node.log) << FATAL_LOG_PREFIX << ec.message (); + release_assert (false); + } + catch (std::error_code & ec) + { + BOOST_LOG (this->node.log) << FATAL_LOG_PREFIX << ec.message (); + release_assert (false); + } + catch (std::runtime_error & err) + { + BOOST_LOG (this->node.log) << FATAL_LOG_PREFIX << err.what (); + release_assert (false); + } catch (...) { + BOOST_LOG (this->node.log) << FATAL_LOG_PREFIX << "Unknown exception"; release_assert (false); } if (this->node.config.logging.network_packet_logging ())