aboutsummaryrefslogtreecommitdiff
path: root/src/win/exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/win/exception.cpp')
-rw-r--r--src/win/exception.cpp26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/win/exception.cpp b/src/win/exception.cpp
index 271067fc..e0f114b5 100644
--- a/src/win/exception.cpp
+++ b/src/win/exception.cpp
@@ -11,11 +11,9 @@ inline std::string HResultMakeMessage(HRESULT h_result,
sprintf_s(buffer, "%#08x", h_result);
if (message)
- return Format(
- "An HResultError is thrown. HRESULT: {}.\nAdditional message: {}\n",
- buffer, *message);
+ return Format("HRESULT: {}.\nMessage: {}\n", buffer, *message);
else
- return Format("An HResultError is thrown. HRESULT: {}.\n", buffer);
+ return Format("HRESULT: {}.\n", buffer);
}
HResultError::HResultError(HRESULT h_result)
@@ -28,23 +26,17 @@ HResultError::HResultError(HRESULT h_result,
h_result_(h_result) {}
inline std::string Win32MakeMessage(DWORD error_code,
- const std::string_view* message) {
+ const std::string_view& message) {
char buffer[20];
sprintf_s(buffer, "%#04x", error_code);
- if (message)
- return Format("Last error code: {}.\nAdditional message: {}\n", buffer,
- *message);
- else
- return Format("Last error code: {}.\n", buffer);
+ return Format("Last error code: {}.\nMessage: {}\n", buffer, message);
}
-Win32Error::Win32Error(DWORD error_code)
- : PlatformException(Win32MakeMessage(error_code, nullptr)),
- error_code_(error_code) {}
+Win32Error::Win32Error(const std::string_view& message)
+ : Win32Error(::GetLastError(), message) {}
-Win32Error::Win32Error(DWORD error_code,
- const std::string_view& additional_message)
- : PlatformException(Win32MakeMessage(error_code, &additional_message)),
+Win32Error::Win32Error(DWORD error_code, const std::string_view& message)
+ : PlatformException(Win32MakeMessage(error_code, message)),
error_code_(error_code) {}
-} // namespace cru::win
+} // namespace cru::platform::win