diff options
-rw-r--r-- | include/cru/base/Exception.h | 1 | ||||
-rw-r--r-- | src/base/Exception.cpp | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/include/cru/base/Exception.h b/include/cru/base/Exception.h index 4fcd96ad..6f0727ce 100644 --- a/include/cru/base/Exception.h +++ b/include/cru/base/Exception.h @@ -31,6 +31,7 @@ class CRU_BASE_API Exception : public std::exception { protected: void SetMessage(std::string message) { message_ = std::move(message); } + void AppendMessage(const std::string& additional_message); void AppendMessage(std::string_view additional_message); void AppendMessage(std::optional<std::string_view> additional_message); diff --git a/src/base/Exception.cpp b/src/base/Exception.cpp index 571c115f..a92b6953 100644 --- a/src/base/Exception.cpp +++ b/src/base/Exception.cpp @@ -17,8 +17,12 @@ Exception::~Exception() {} const char* Exception::what() const noexcept { return message_.c_str(); } +void Exception::AppendMessage(const std::string& additional_message) { + AppendMessage(std::string_view(additional_message)); +} + void Exception::AppendMessage(std::string_view additional_message) { - message_ += " "; + message_ += ' '; message_ += additional_message; } @@ -30,11 +34,11 @@ void Exception::AppendMessage( void Exception::SetMessage(StringView message) { SetMessage(message.ToUtf8()); } void Exception::AppendMessage(StringView additional_message) { - AppendMessage(std::string_view(additional_message.ToUtf8())); + AppendMessage(additional_message.ToUtf8()); } void Exception::AppendMessage(std::optional<StringView> additional_message) { - if (additional_message) AppendMessage(*additional_message); + if (additional_message) AppendMessage(additional_message->ToUtf8()); } ErrnoException::ErrnoException() : ErrnoException(NO_MESSAGE) {} |