From d6de043be386c4772747b2c738864b1063a8fd35 Mon Sep 17 00:00:00 2001 From: iAmir Date: Tue, 24 Jan 2023 21:58:55 +0330 Subject: [PATCH] don't throw an exception when server.cfg is not found --- src/config_reader.cpp | 6 +++++- src/config_reader.h | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/config_reader.cpp b/src/config_reader.cpp index 1768936..2980d7e 100644 --- a/src/config_reader.cpp +++ b/src/config_reader.cpp @@ -10,6 +10,10 @@ ConfigReader::ConfigReader(const std::string& filename) if (!file_.good()) { - throw std::runtime_error("Could not load configuration file " + filename + "!"); + hasServerCfg_ = false; + } + else + { + hasServerCfg_ = true; } } diff --git a/src/config_reader.h b/src/config_reader.h index 9ee7fee..d6bd1ad 100644 --- a/src/config_reader.h +++ b/src/config_reader.h @@ -14,6 +14,11 @@ class ConfigReader template T getValue(const std::string& key, T defaultValue) { + if (!hasServerCfg_) + { + return defaultValue; + } + file_.clear(); file_.seekg(0, std::ios::beg); @@ -38,4 +43,5 @@ class ConfigReader private: std::ifstream file_; + bool hasServerCfg_ = false; }; \ No newline at end of file