diff options
| author | Martin Ridgers <[email protected]> | 2022-01-07 14:41:45 +0100 |
|---|---|---|
| committer | Martin Ridgers <[email protected]> | 2022-01-07 14:56:28 +0100 |
| commit | fa86dbd4af6ff50fe21f909727676e2867f0b168 (patch) | |
| tree | 1d8428aabb4433fd2e4a19038723c36f9de8b492 /zencore | |
| parent | Removed unused lambda captures (diff) | |
| download | zen-fa86dbd4af6ff50fe21f909727676e2867f0b168.tar.xz zen-fa86dbd4af6ff50fe21f909727676e2867f0b168.zip | |
Turn all ThrowLastError() sites in source_location variants
Diffstat (limited to 'zencore')
| -rw-r--r-- | zencore/except.cpp | 14 | ||||
| -rw-r--r-- | zencore/include/zencore/except.h | 7 |
2 files changed, 11 insertions, 10 deletions
diff --git a/zencore/except.cpp b/zencore/except.cpp index fae629286..b4ad5acf2 100644 --- a/zencore/except.cpp +++ b/zencore/except.cpp @@ -58,12 +58,6 @@ ThrowSystemException([[maybe_unused]] HRESULT hRes, [[maybe_unused]] std::string #endif // ZEN_PLATFORM_WINDOWS void -ThrowLastError(std::string_view Message) -{ - throw std::system_error(std::error_code(zen::GetLastError(), std::system_category()), std::string(Message)); -} - -void ThrowSystemError(uint32_t ErrorCode, std::string_view Message) { throw std::system_error(std::error_code(ErrorCode, std::system_category()), std::string(Message)); @@ -83,12 +77,18 @@ GetSystemErrorAsString(uint32_t ErrorCode) #if defined(__cpp_lib_source_location) void -ThrowLastError(std::string_view Message, const std::source_location& Location) +ThrowLastErrorImpl(std::string_view Message, const std::source_location& Location) { using namespace fmt::literals; throw std::system_error(std::error_code(zen::GetLastError(), std::system_category()), "{}({}): {}"_format(Location.file_name(), Location.line(), Message)); } +#else +void +ThrowLastError(std::string_view Message) +{ + throw std::system_error(std::error_code(zen::GetLastError(), std::system_category()), std::string(Message)); +} #endif } // namespace zen diff --git a/zencore/include/zencore/except.h b/zencore/include/zencore/except.h index 6719c1319..d714b6ade 100644 --- a/zencore/include/zencore/except.h +++ b/zencore/include/zencore/except.h @@ -20,10 +20,11 @@ namespace zen { ZENCORE_API void ThrowSystemException [[noreturn]] (HRESULT hRes, std::string_view Message); #endif // ZEN_PLATFORM_WINDOWS -ZENCORE_API void ThrowLastError [[noreturn]] (std::string_view Message); - #if defined(__cpp_lib_source_location) -ZENCORE_API void ThrowLastError [[noreturn]] (std::string_view Message, const std::source_location& Location); +ZENCORE_API void ThrowLastErrorImpl [[noreturn]] (std::string_view Message, const std::source_location& Location); +#define ThrowLastError(Message) ThrowLastErrorImpl(Message, std::source_location::current()) +#else +ZENCORE_API void ThrowLastError [[noreturn]] (std::string_view Message); #endif ZENCORE_API void ThrowSystemError [[noreturn]] (uint32_t ErrorCode, std::string_view Message); |