-
Notifications
You must be signed in to change notification settings - Fork 1
/
WukException.hh
35 lines (30 loc) · 1.3 KB
/
WukException.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <config/WukConfig.hh>
#if WUK_SUPPORT
#ifndef WUK_CPP_EXCEPTION
#define WUK_CPP_EXCEPTION
#include <stdexcept>
#include <cerrno>
// 使用C++20标准,如果用户指定了20标准那就是支持20,所以不需要担心不兼容的情况。
#if __cplusplus >= 202002
# include <format>
#else
# if defined(WUK_PLATFORM_WINOS) && defined(_MSC_VER)
# pragma comment(lib, "msvcprt")
# endif
#endif
// 这些错误代码是为了之后使用?但似乎并没有多大用。
#define wukErr_OK 0 // 表示一切正常,不需要注意任何错误。
#define wukErr_Err 1 // 一般的错误,用于表示32位的错误代码。
#define wukErr_ErrNULL 2 // 错误的空数据,表示不应该传入一个空的数据(包含指针)。
#define wukErr_ErrMemory 4 // 错误的内存,只能用作申请内存失败时。
#define wukErr_ErrSysFunc 8 // 错误的调用,表示调用系统函数后返回了错误代码。
namespace wuk {
class LIBWUK_API Exception : public std::exception {
public:
std::string output_message;
Exception(wS32 code, std::string function, std::string message);
const char *what() const noexcept override;
};
}
#endif /* WUK_CPP_EXCEPTION */
#endif /* WUK_SUPPORT */