aboutsummaryrefslogtreecommitdiff
path: root/src/base/Exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/Exception.cpp')
-rw-r--r--src/base/Exception.cpp15
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) {