diff options
Diffstat (limited to 'src/base/platform/win/Exception.cpp')
-rw-r--r-- | src/base/platform/win/Exception.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/base/platform/win/Exception.cpp b/src/base/platform/win/Exception.cpp index 941875f7..adc59e3c 100644 --- a/src/base/platform/win/Exception.cpp +++ b/src/base/platform/win/Exception.cpp @@ -1,16 +1,16 @@ #include "cru/base/platform/win/Exception.h" -#include "cru/base/Format.h" +#include <format> #include <optional> namespace cru::platform::win { -inline String HResultMakeMessage(HRESULT h_result, - std::optional<String> message) { +inline std::string HResultMakeMessage(HRESULT h_result, + std::optional<std::string_view> message) { if (message.has_value()) - return Format(u"HRESULT: {}. Message: {}", h_result, message->WinCStr()); + return std::format("HRESULT: {}. Message: {}", h_result, *message); else - return Format(u"HRESULT: {}.", h_result); + return std::format("HRESULT: {}.", h_result); } HResultError::HResultError(HRESULT h_result) @@ -19,20 +19,19 @@ HResultError::HResultError(HRESULT h_result) HResultError::HResultError(HRESULT h_result, std::string_view additional_message) - : Exception(HResultMakeMessage( - h_result, String::FromUtf8(additional_message.data(), - additional_message.size()))), + : Exception(HResultMakeMessage(h_result, additional_message)), h_result_(h_result) {} -inline String Win32MakeMessage(DWORD error_code, String message) { - return Format(u"Last error code: {}.\nMessage: {}\n", error_code, - message.WinCStr()); +inline std::string Win32MakeMessage(DWORD error_code, + std::string_view message) { + return std::format("Last error code: {}.\nMessage: {}\n", error_code, + message); } -Win32Error::Win32Error(String message) +Win32Error::Win32Error(std::string_view message) : Win32Error(::GetLastError(), message) {} -Win32Error::Win32Error(DWORD error_code, String message) +Win32Error::Win32Error(DWORD error_code, std::string_view message) : Exception(Win32MakeMessage(error_code, message)), error_code_(error_code) {} } // namespace cru::platform::win |