#ifndef ERR_H #define ERR_H #include #include enum ErrType : unsigned char { GENERIC, WINDOWS, WININET, LIBXML2 }; struct Err { std::wstring what; Err(ErrType t, const wchar_t* fmt = L"%s"); inline Err(ErrType t, std::wstring fmt) : Err(t, fmt.c_str()) {} }; /* Return a wide string describing exception. */ std::wstring What(std::exception_ptr e = std::current_exception()); #endif