From 6165733e039defc58d56fb34add5b0be43dba72d Mon Sep 17 00:00:00 2001 From: Duke Date: Thu, 2 Mar 2023 20:34:42 -0800 Subject: [PATCH] Ignore exceptions in litelib_initialize_existing() in a few places --- src/settings.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index d6243b6..3665053 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -36,9 +36,14 @@ Config Settings::getSettings() { if (server.trimmed().isEmpty()) { server = Settings::getRandomServer(); + QString response = ""; // make sure existing server in conf is alive, otherwise choose random one - char* resp = litelib_initialize_existing(false, server.toStdString().c_str()); - QString response = litelib_process_response(resp); + try { + char* resp = litelib_initialize_existing(false, server.toStdString().c_str()); + response = litelib_process_response(resp); + } catch (const std::exception& e) { + qDebug() << __func__ << ": caught an exception, ignoring: " << e.what(); + } if (response.toUpper().trimmed() != "OK") { qDebug() << "Lite server in conf " << server << " is down, getting a random one"; @@ -310,14 +315,14 @@ QString Settings::getRandomServer() { // We try every server,in order, starting from a random place in the list while (tries < servers.size() ) { qDebug() << "Checking if lite server " << server << " is a alive, try=" << tries; - char* resp = litelib_initialize_existing(false, server.toStdString().c_str()); QString response = ""; try { + char* resp = litelib_initialize_existing(false, server.toStdString().c_str()); response = litelib_process_response(resp); } catch (const std::exception& e) { - qDebug() << __func__ << ": litelib_process_response threw an exception, ignoring: " << e.what(); + qDebug() << __func__ << ": caught an exception, ignoring: " << e.what(); } // if we see a valid connection, return this server