Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
AW-Error
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
规范查询wiki:
http://gitlab.anweitech.com/root/AW-Project-Manage/wikis/pages
Open sidebar
周尚
AW-Error
Commits
acfb0624
提交
acfb0624
authored
11月 26, 2020
作者:
周尚
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v1.0.0
上级
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
85 行增加
和
0 行删除
+85
-0
AWError.c
AWError.c
+29
-0
AWError.h
AWError.h
+56
-0
没有找到文件。
AWError.c
0 → 100644
浏览文件 @
acfb0624
#include "AWError.h"
#include <stdlib.h>
#include <string.h>
__thread
AW_errno
AW_errnum
;
struct
AW_strerror
{
const
char
*
name
;
const
char
*
desc
;
};
#define AW_STRERROR_GEN(n, s) {"AW_" #n, s},
static
struct
AW_strerror
AW_strerror_tab
[]
=
{
AW_ERRNO_MAP
(
AW_STRERROR_GEN
)};
#undef AW_STRERROR_GEN
const
char
*
AW_ERR_name
(
AW_errno
errnum
)
{
return
AW_strerror_tab
[
errnum
].
name
;
}
const
char
*
AW_ERR_desc
(
AW_errno
errnum
)
{
if
(
errnum
==
AW_ERR_SYS
)
return
strerror
(
errno
);
else
return
AW_strerror_tab
[
errnum
].
desc
;
}
AWError.h
0 → 100644
浏览文件 @
acfb0624
/**
* @file AWError.h
* @date 2020-11-09
* @author whiothes <whiothes81@gmail.com>
* @version 1.0
* @brief error definitions
*/
#pragma once
#include <errno.h>
/**
* @brief error no. - error description MAP
*
* @note add your own (error macro, error description) map here
*/
#define AW_ERRNO_MAP(XX) \
/* no error */
\
XX(SUCC, "SUCCESS") \
\
/* use system errno */
\
XX(ERR_SYS, "use strerror instead") \
\
/* SQLite error */
\
XX(ERR_SQLITE, "call SQLite error API called function above for detail") \
XX(ERR_SQLITE_INVALID_METHOD, "Invalid sql method") \
\
/* Custom error */
\
XX(ERR_INVALID_MEMORY, "invalid memory address") \
XX(ERR_INVALID_TYPE, "invalid data type") \
\
/* unknown error */
\
XX(ERR_UNKNOWN, "Unexpected error occurred")
/**
* @brief Define AW_* values for each errno value above
*
* @warning DO NOT DO ANY EDIT HERE
*/
#define AW_ERRNO_GEN(n, s) AW_##n,
/**
* @brief make ERROR macro to be enum
*
* @warning DO NOT DO ANY EDIT HERE
*/
typedef
enum
{
AW_FAIL
=
-
1
,
AW_ERRNO_MAP
(
AW_ERRNO_GEN
)
}
AW_errno
;
#undef AW_ERRNO_GEN
const
char
*
AW_ERR_name
(
AW_errno
errnum
);
const
char
*
AW_ERR_desc
(
AW_errno
errnum
);
extern
__thread
AW_errno
AW_errnum
;
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论