aboutsummaryrefslogtreecommitdiff
path: root/src/base/Base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/Base.cpp')
-rw-r--r--src/base/Base.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/base/Base.cpp b/src/base/Base.cpp
index 49b0c462..7dd6337d 100644
--- a/src/base/Base.cpp
+++ b/src/base/Base.cpp
@@ -9,8 +9,6 @@ namespace cru {
void UnreachableCode() { std::terminate(); }
void NotImplemented() { std::terminate(); }
-static constexpr auto NO_MESSAGE = "No message.";
-
Exception::Exception(std::string message, std::shared_ptr<std::exception> inner)
: message_(std::move(message)), inner_(std::move(inner)) {}
@@ -18,11 +16,8 @@ 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) {
+ if (additional_message.empty()) return;
message_ += ' ';
message_ += additional_message;
}
@@ -32,15 +27,17 @@ void Exception::AppendMessage(
if (additional_message) AppendMessage(*additional_message);
}
-ErrnoException::ErrnoException() : ErrnoException(NO_MESSAGE) {}
+ErrnoException::ErrnoException() : ErrnoException("") {}
ErrnoException::ErrnoException(int errno_code)
- : ErrnoException(NO_MESSAGE, errno_code) {}
+ : ErrnoException("", errno_code) {}
ErrnoException::ErrnoException(std::string_view message)
: ErrnoException(message, errno) {}
ErrnoException::ErrnoException(std::string_view message, int errno_code)
- : Exception(std::format("{} Errno is {}.", message, errno_code)),
- errno_code_(errno_code) {}
+ : Exception(std::format("Errno is {}.", errno_code)),
+ errno_code_(errno_code) {
+ AppendMessage(message);
+}
} // namespace cru