aboutsummaryrefslogtreecommitdiff
path: root/src/base/Exception.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-08-31 22:15:17 +0800
committerYuqian Yang <crupest@crupest.life>2025-08-31 22:15:17 +0800
commit5035f18f44f675af2faa4019b6de14b3f3aab270 (patch)
treeca3d89608ea96b123723ffe8e323ebb45530aec7 /src/base/Exception.cpp
parenta53fc98afc6cf3dbccde265d895e26346b6f537f (diff)
downloadcru-5035f18f44f675af2faa4019b6de14b3f3aab270.tar.gz
cru-5035f18f44f675af2faa4019b6de14b3f3aab270.tar.bz2
cru-5035f18f44f675af2faa4019b6de14b3f3aab270.zip
Use utf8 message in cru::Exception.
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) {