aboutsummaryrefslogtreecommitdiff
path: root/src/exception.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/exception.hpp')
-rw-r--r--src/exception.hpp94
1 files changed, 43 insertions, 51 deletions
diff --git a/src/exception.hpp b/src/exception.hpp
index b8cef604..db2572f1 100644
--- a/src/exception.hpp
+++ b/src/exception.hpp
@@ -1,60 +1,52 @@
#pragma once
-
-// ReSharper disable once CppUnusedIncludeDirective
#include "pre.hpp"
-#include "system_headers.hpp"
#include <optional>
+#include "system_headers.hpp"
#include "base.hpp"
-
namespace cru {
- class HResultError : public std::runtime_error
- {
- public:
- explicit HResultError(HRESULT h_result, std::optional<MultiByteStringView> additional_message = std::nullopt);
- HResultError(const HResultError& other) = default;
- HResultError(HResultError&& other) = default;
- HResultError& operator=(const HResultError& other) = default;
- HResultError& operator=(HResultError&& other) = default;
- ~HResultError() override = default;
-
- HRESULT GetHResult() const
- {
- return h_result_;
- }
-
- private:
- HRESULT h_result_;
- };
-
- inline void ThrowIfFailed(const HRESULT h_result) {
- if (FAILED(h_result))
- throw HResultError(h_result);
- }
-
- inline void ThrowIfFailed(const HRESULT h_result, const MultiByteStringView& message) {
- if (FAILED(h_result))
- throw HResultError(h_result, message);
- }
-
- class Win32Error : public std::runtime_error
- {
- public:
- explicit Win32Error(DWORD error_code, std::optional<MultiByteStringView> additional_message = std::nullopt);
- Win32Error(const Win32Error& other) = default;
- Win32Error(Win32Error&& other) = default;
- Win32Error& operator=(const Win32Error& other) = default;
- Win32Error& operator=(Win32Error&& other) = default;
- ~Win32Error() override = default;
-
- HRESULT GetErrorCode() const
- {
- return error_code_;
- }
-
- private:
- DWORD error_code_;
- };
+class HResultError : public std::runtime_error {
+ public:
+ explicit HResultError(
+ HRESULT h_result,
+ std::optional<MultiByteStringView> additional_message = std::nullopt);
+ HResultError(const HResultError& other) = default;
+ HResultError(HResultError&& other) = default;
+ HResultError& operator=(const HResultError& other) = default;
+ HResultError& operator=(HResultError&& other) = default;
+ ~HResultError() override = default;
+
+ HRESULT GetHResult() const { return h_result_; }
+
+ private:
+ HRESULT h_result_;
+};
+
+inline void ThrowIfFailed(const HRESULT h_result) {
+ if (FAILED(h_result)) throw HResultError(h_result);
}
+
+inline void ThrowIfFailed(const HRESULT h_result,
+ const MultiByteStringView& message) {
+ if (FAILED(h_result)) throw HResultError(h_result, message);
+}
+
+class Win32Error : public std::runtime_error {
+ public:
+ explicit Win32Error(
+ DWORD error_code,
+ std::optional<MultiByteStringView> additional_message = std::nullopt);
+ Win32Error(const Win32Error& other) = default;
+ Win32Error(Win32Error&& other) = default;
+ Win32Error& operator=(const Win32Error& other) = default;
+ Win32Error& operator=(Win32Error&& other) = default;
+ ~Win32Error() override = default;
+
+ HRESULT GetErrorCode() const { return error_code_; }
+
+ private:
+ DWORD error_code_;
+};
+} // namespace cru