diff options
Diffstat (limited to 'src/base/Exception.cpp')
-rw-r--r-- | src/base/Exception.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/base/Exception.cpp b/src/base/Exception.cpp index 19938970..1e3813a9 100644 --- a/src/base/Exception.cpp +++ b/src/base/Exception.cpp @@ -5,22 +5,21 @@ #include <cerrno> namespace cru { -Exception::Exception(String message, std::unique_ptr<std::exception> inner) +Exception::Exception(std::string message, std::unique_ptr<std::exception> inner) : message_(std::move(message)), inner_(std::move(inner)) {} +Exception::Exception(StringView message, std::unique_ptr<std::exception> inner) + : message_(message.ToUtf8()), inner_(std::move(inner)) {} + Exception::~Exception() {} const char* Exception::what() const noexcept { - if (!message_.empty() && utf8_message_.empty()) { - utf8_message_ = message_.ToUtf8(); - } - - return utf8_message_.c_str(); + return message_.c_str(); } void Exception::AppendMessage(StringView additional_message) { - message_ += u" "; - message_ += additional_message; + message_ += " "; + message_ += additional_message.ToUtf8(); } void Exception::AppendMessage(std::optional<StringView> additional_message) { |