aboutsummaryrefslogtreecommitdiff
path: root/src/base/Base.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-15 16:43:25 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-16 00:01:49 +0800
commit246eb9266b9349b44cbe96f3f839124ab30cbb89 (patch)
tree31604c8a4764d3a601d56599e56c98d91bd97758 /src/base/Base.cpp
parentb92aa78ac19476049ab881b49c51b1a970a4a973 (diff)
downloadcru-246eb9266b9349b44cbe96f3f839124ab30cbb89.tar.gz
cru-246eb9266b9349b44cbe96f3f839124ab30cbb89.tar.bz2
cru-246eb9266b9349b44cbe96f3f839124ab30cbb89.zip
Impl win subprocess.
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