aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/Exception.h
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-10-06 13:57:39 +0800
committercrupest <crupest@outlook.com>2024-10-06 13:57:39 +0800
commitdfe62dcf8bcefc523b466e127c3edc4dc2756629 (patch)
tree1c751a14ba0da07ca2ff805633f97568060aa4c9 /include/cru/common/Exception.h
parentf51eb955e188858272230a990565931e7403f23b (diff)
downloadcru-dfe62dcf8bcefc523b466e127c3edc4dc2756629.tar.gz
cru-dfe62dcf8bcefc523b466e127c3edc4dc2756629.tar.bz2
cru-dfe62dcf8bcefc523b466e127c3edc4dc2756629.zip
Rename common to base.
Diffstat (limited to 'include/cru/common/Exception.h')
-rw-r--r--include/cru/common/Exception.h60
1 files changed, 0 insertions, 60 deletions
diff --git a/include/cru/common/Exception.h b/include/cru/common/Exception.h
deleted file mode 100644
index 609fd2c9..00000000
--- a/include/cru/common/Exception.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#pragma once
-#include "String.h"
-
-#include <exception>
-#include <optional>
-
-namespace cru {
-#ifdef _MSC_VER
-#pragma warning(disable : 4275)
-#endif
-class CRU_BASE_API Exception : public std::exception {
- public:
- explicit Exception(String message = {},
- std::unique_ptr<std::exception> inner = nullptr);
-
- ~Exception() override;
-
- public:
- String GetMessage() const { return message_; }
-
- std::exception* GetInner() const noexcept { return inner_.get(); }
-
- const char* what() const noexcept override;
-
- protected:
- void SetMessage(String message) { message_ = std::move(message); }
-
- void AppendMessage(StringView additional_message);
- void AppendMessage(std::optional<StringView> additional_message);
-
- private:
- String message_;
- mutable std::string utf8_message_;
- std::unique_ptr<std::exception> inner_;
-};
-
-class CRU_BASE_API TextEncodeException : public Exception {
- public:
- using Exception::Exception;
-};
-
-class ErrnoException : public Exception {
- public:
- /**
- * @brief will retrieve errno automatically.
- */
- explicit ErrnoException(String message = {});
- ErrnoException(String message, int errno_code);
-
- CRU_DELETE_COPY(ErrnoException)
- CRU_DELETE_MOVE(ErrnoException)
-
- ~ErrnoException() override = default;
-
- int GetErrnoCode() const { return errno_code_; }
-
- private:
- int errno_code_;
-};
-} // namespace cru