📄 z_errdef.h
字号:
#ifndef Z_ERRDEF_H_
#define Z_ERRDEF_H_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum err_level{
eNOERROR = 0,
eHINT, //提示
eWARN, //警告
eFAILED, //失败
eERROR, //错误
eBAD, //故障,不可恢复性错误
eDEBUG, //调试信息
};
enum{
ERR_MAJOR_BUG, // 这种错误都意味着编程错误
ERR_MAJOR_PANIC, // 崩溃性错误
ERR_MAJOR_RT, // 运行时错误
ERR_MAJOR_NETWORK, // 网络相关错误
ERR_MAJOR_CUSTOM = 8, // 用户可定制类型的最小值
ERR_MAJOR_MAX = 16, // 用户可定制类型的最大值
};
typedef int HRET;
#define MAKE_ERR(major_, minor_) ((HRET)0x80000000 | (((HRET)(major_)) << 16) | (minor_))
#define GET_ERR_MAJOR(err) (((err) >> 16) & 0x7fff)
#define GET_ERR_MINOR(err) ((err) & 0xffff)
const HRET err_noerror = 0;
const HRET err_true = 1;
const HRET err_false = 0;
//RUNTIME ERROR
const HRET err_failed = MAKE_ERR(ERR_MAJOR_RT, 1);
const HRET err_file = MAKE_ERR(ERR_MAJOR_RT, 2); // file system error
const HRET err_exec = MAKE_ERR(ERR_MAJOR_RT, 3); // execute process failed
const HRET err_notexist = MAKE_ERR(ERR_MAJOR_RT, 4); // not exist
const HRET err_syntax = MAKE_ERR(ERR_MAJOR_RT, 5); // syntax error
const HRET err_unexpected = MAKE_ERR(ERR_MAJOR_RT, 6); // unexcepted
const HRET err_abnormal_end = MAKE_ERR(ERR_MAJOR_RT, 7); // abnormal end
const HRET err_undefined_symbol = MAKE_ERR(ERR_MAJOR_RT, 8); // undefined symbol
const HRET err_duplicate_symbol = MAKE_ERR(ERR_MAJOR_RT, 9); // duplicated symbol
const HRET err_conflict = MAKE_ERR(ERR_MAJOR_RT, 10); // conflict
const HRET err_not_implement = MAKE_ERR(ERR_MAJOR_RT, 11); // not implement
const HRET err_timeout = MAKE_ERR(ERR_MAJOR_RT, 12); // timeout
const HRET err_rejected = MAKE_ERR(ERR_MAJOR_RT, 13); // reject required
const HRET err_invalid_param = MAKE_ERR(ERR_MAJOR_RT, 14); // invalidate parameter
const HRET err_cast = MAKE_ERR(ERR_MAJOR_RT, 15); // abnormal type cast
const HRET err_exit = MAKE_ERR(ERR_MAJOR_RT, 16);
const HRET err_unprepared = MAKE_ERR(ERR_MAJOR_RT, 17); // unprepared
//BUG
const HRET err_internal = MAKE_ERR(ERR_MAJOR_BUG, 1); // internal error
const HRET err_divide_zero = MAKE_ERR(ERR_MAJOR_BUG, 2); // divide zero
const HRET err_not_initialized = MAKE_ERR(ERR_MAJOR_BUG, 3); // not initialized
const HRET err_non_lvalue = MAKE_ERR(ERR_MAJOR_BUG, 4); // non leftvalue
const HRET err_non_rvalue = MAKE_ERR(ERR_MAJOR_BUG, 5); // non right-value
const HRET err_illegal_op = MAKE_ERR(ERR_MAJOR_BUG, 6); // illegal operator
const HRET err_bad_argu = MAKE_ERR(ERR_MAJOR_BUG, 7); //
const HRET err_overflow = MAKE_ERR(ERR_MAJOR_BUG, 8); // overflow
const HRET err_underflow = MAKE_ERR(ERR_MAJOR_BUG, 9); // underflow
//NETWORK
const HRET err_network = MAKE_ERR(ERR_MAJOR_NETWORK, 1); // network error.
const HRET err_shutdown = MAKE_ERR(ERR_MAJOR_NETWORK, 2); // ipc already shutdown
const HRET err_connreset = MAKE_ERR(ERR_MAJOR_NETWORK, 3); // network: connect reset
const HRET err_receive = MAKE_ERR(ERR_MAJOR_NETWORK, 4); // receive data failed
const HRET err_send = MAKE_ERR(ERR_MAJOR_NETWORK, 5); // send data failed
const HRET err_connect = MAKE_ERR(ERR_MAJOR_NETWORK, 6); // connect failed
const HRET err_again = MAKE_ERR(ERR_MAJOR_NETWORK, 7); // 非阻塞SOCKET失败
const HRET err_intr = MAKE_ERR(ERR_MAJOR_NETWORK, 8); // 被信号中断
const HRET err_pipe = MAKE_ERR(ERR_MAJOR_NETWORK, 9); // 对方已经关闭了连接
const HRET err_setsockopt = MAKE_ERR(ERR_MAJOR_NETWORK, 10);// setsockopt failed
//PANIC
const HRET err_overrun = MAKE_ERR(ERR_MAJOR_PANIC, 1); // overrun
const HRET err_outmemory = MAKE_ERR(ERR_MAJOR_PANIC, 2); // out of memory
const HRET err_resource = MAKE_ERR(ERR_MAJOR_PANIC, 3); // little of resource
#endif //Z_ERRDEF_H_
/*
* Copyright (c) 2003-2005 Zbchun.
* 这是一个开源软件,允许任意使用,但必须保留该版权声明。
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -