From 94ae6a34b0cb90ee387c6e9a86ccd1998f8864d6 Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 15 Sep 2016 19:32:24 +0300 Subject: initial commit --- error.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 error.h (limited to 'error.h') diff --git a/error.h b/error.h new file mode 100644 index 0000000..2ea7f85 --- /dev/null +++ b/error.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +#include + +typedef std::system_error Error; + +namespace error +{ + inline void raise(const char* function_name) + { + const auto ec = GetLastError(); + throw std::system_error(ec, std::system_category(), function_name); + } + + void report(const Error& e) + { + MessageBoxA(NULL, e.what(), NULL, MB_OK); + } + + int get_code(const Error& e) + { + return e.code().value(); + } +} -- cgit v1.2.3