aboutsummaryrefslogtreecommitdiff
path: root/zencore/except.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-08-09 14:12:59 +0200
committerStefan Boberg <[email protected]>2021-08-09 14:12:59 +0200
commitdcadd5a52dadb244d93167dca94a747ed42e2f08 (patch)
tree801b5ae986e6c1dc64de20346d9db288aaf3e7ff /zencore/except.cpp
parentAdded IsProcessRunning()/GetCurrentProcessId() helpers (diff)
downloadzen-dcadd5a52dadb244d93167dca94a747ed42e2f08.tar.xz
zen-dcadd5a52dadb244d93167dca94a747ed42e2f08.zip
Added ThrowLastError which accepts a std::source_location
Diffstat (limited to 'zencore/except.cpp')
-rw-r--r--zencore/except.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/zencore/except.cpp b/zencore/except.cpp
index 882f69f9a..124b9455f 100644
--- a/zencore/except.cpp
+++ b/zencore/except.cpp
@@ -2,6 +2,7 @@
#include <zencore/except.h>
#include <system_error>
+#include <fmt/format.h>
namespace zen {
@@ -24,4 +25,11 @@ ThrowLastError(std::string_view Message)
throw std::system_error(std::error_code(::GetLastError(), std::system_category()), std::string(Message));
}
+void
+ThrowLastError(std::string_view Message, const std::source_location& Location)
+{
+ using namespace fmt::literals;
+ throw std::system_error(std::error_code(::GetLastError(), std::system_category()), "{}({}): {}"_format(Location.file_name(), Location.line(), Message));
+}
+
} // namespace zen