diff options
| author | crupest <crupest@outlook.com> | 2024-10-06 13:57:39 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2024-10-06 13:57:39 +0800 |
| commit | dfe62dcf8bcefc523b466e127c3edc4dc2756629 (patch) | |
| tree | 1c751a14ba0da07ca2ff805633f97568060aa4c9 /include/cru/common/Exception.h | |
| parent | f51eb955e188858272230a990565931e7403f23b (diff) | |
| download | cru-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.h | 60 |
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 |
