diff options
author | HampusM <hampus@hampusmat.com> | 2022-06-27 22:34:49 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-06-27 22:35:57 +0200 |
commit | f5398aa86460daf06020bbc27ab40d432f30abf0 (patch) | |
tree | affc8ab9245a72bc9b81081bf7f791b0262cee52 | |
parent | 6b0e2a25cf1e98d3f11d4e6c0305dd327048bbb8 (diff) |
refactor: status manager throw when set section title fails
-rw-r--r-- | src/game/status_manager.cpp | 9 | ||||
-rw-r--r-- | src/game/status_manager.hpp | 2 | ||||
-rw-r--r-- | src/interfaces/status_manager.hpp | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/game/status_manager.cpp b/src/game/status_manager.cpp index e4838cc..fd56627 100644 --- a/src/game/status_manager.cpp +++ b/src/game/status_manager.cpp @@ -2,6 +2,7 @@ #include <fmt/core.h> +#include <stdexcept> #include <utility> void StatusManager::bind(const std::shared_ptr<IStatusLine> &statusline) noexcept @@ -11,12 +12,14 @@ void StatusManager::bind(const std::shared_ptr<IStatusLine> &statusline) noexcep void StatusManager::set_section_title( const StatusLineSection §ion, - const std::string_view &title) noexcept + const std::string_view &title) { if (_section_title_lengths.contains(section)) { - fmt::print(stderr, "Error: can't set statusbar section title more than once"); - return; + throw std::logic_error(fmt::format( + "Unable to set statusbar section title to '{}'. Section has already been " + "assigned a title", + title)); } _statusline->set_section_status(section, title); diff --git a/src/game/status_manager.hpp b/src/game/status_manager.hpp index c101289..b170cf9 100644 --- a/src/game/status_manager.hpp +++ b/src/game/status_manager.hpp @@ -17,7 +17,7 @@ public: void set_section_title( const StatusLineSection §ion, - const std::string_view &title) noexcept override; + const std::string_view &title) override; void set_section_body( const StatusLineSection §ion, diff --git a/src/interfaces/status_manager.hpp b/src/interfaces/status_manager.hpp index 7c56df1..7744eb6 100644 --- a/src/interfaces/status_manager.hpp +++ b/src/interfaces/status_manager.hpp @@ -15,7 +15,7 @@ public: virtual void set_section_title( const StatusLineSection §ion, - const std::string_view &title) noexcept = 0; + const std::string_view &title) = 0; virtual void set_section_body( const StatusLineSection §ion, |