refactor!: 错误码体系重构 删除特殊平台语境残留

BREAKING CHANGE: 错误码编号全部变更, 外部依赖旧编号的代码需按映射表更新

- 删除 10 个从未使用的错误码:
  JSON/MCP 系列(5001/5002/5006/5007/5008) + 其余死码(5004/5009/5013/5018/5021)
- 重排为连续 5001~5016
- 宏前缀 NAPI_(鸿蒙 NAPI 语境残留) 改为 LUAERR_
- 同步更新: errors.h / bridge.cj getErrorMessage+typed抛出点 /
  lua_runner_test.cj 断言 / api.md 对照表 / README.md / GTest 宏名
- 清理注释残留: 鸿蒙 el2 沙盒路径 TODO / 沙盒内路径描述
- 版本号 0.2.1 -> 0.2.2

验证: GTest 44/44 通过; cjpm build 成功; 独立程序运行时 9/9 通过
(含新编号 5016/5013 错误路径)
This commit is contained in:
JianFeeeee
2026-08-25 09:29:48 +08:00
parent 237aab3f36
commit 4af121c1f3
4 changed files with 105 additions and 61 deletions

View File

@ -1,30 +1,23 @@
#ifndef ERRORS
#define ERRORS
//用于定义napi中所有可能出现的错误便于错误传递
#define NAPI_JSON_LOAD_FAIL 5001 //json文件加载错误
#define NAPI_MALLOC_FAIL 5002 //内存分配错误
#define NAPI_LOAD_FILE_ERROR 5003 //文件加载错误,可能为权限路径问题
#define NAPI_SCRIPT_RUNNER_INVALID 5004 //脚本运行器初始化错误,脚本运行器异常
#define NAPI_LUA_STATE_ERROR 5005 //lua状态机初始化错误或损坏
#define NAPI_JSON_RESOLVE_FAIL 5006 //json解析错误可能为格式错误等
#define NAPI_JSON_FORMATE_ERROR 5007 //json格式错误与mcp常见格式不符)
#define NAPI_MISSING_JSON_ARG 5008 //无法从json中解析到参数
#define NAPI_LUA_STACK_NOSPACE 5009 //lua状态机栈空间不足
#define NAPI_SCRIPT_ERROR 5010 //脚本内部错误,取result获取更多信息
#define NAPI_SCRIPT_BAD_RET 5011 //脚本返回值错误
#define NAPI_UNLOADLIB_FAIL 5012 // 释放的库未被加载
#define NAPI_LUAFUN_NOFOUND 5013 //调用不符合规定,没有遵守单入参单出参约定
#define NAPI_LUA_STACK_ERROR 5014 //函数调用时,栈大小小于约定最小大小
#define NAPI_LUA_INITFAIL 5015 //lua状态机初始化错误
#define NAPI_LUALIB_LOAD_OVER_STACK 5016 //加载太多lib
#define NAPI_LUA_CLASS_LOST 5017 //luarunner对象丢失
#define NAPI_LUA_MISS_REDIRECT 5018 //漏传用于重定向的文件路径
#define NAPI_RESET_INPUT_FILE_ERROR 5019 //重置输入文件失败,可能造成输入污染
#define NAPI_ERROR_FUNCS 5020 //函数调用错误
#define NAPI_CHDIR_ERROR 5021 //切换工作目录失败,可能导致包搜索错误,日志写入路径错误等
#define NAPI_NOCHUNK_FOUND 5022 //没有找到待调用的函数
#define NAPI_FUNCTION_NOT_FOUND 5023 //通过callfunction调用时未找到指定函数
#define NAPI_LOAD_FUNCTION_OVER 5024 //预加载函数数量超过上限
#define NAPI_FUNCTION_NOT_VALID 5025 //预加载文件顶层执行后返回的不是函数
// LuaCangjia_api 统一错误码体系5001~5016 连续编号C++ 层与仓颉层共用。
// 仓颉侧 LuaError.code 与此处数字一一对应,修改时需同步 src/bridge.cj 的
// getErrorMessage 与 doc/api.md 的错误码对照表。
#define LUAERR_LOAD_FILE 5001 //文件加载错误,可能为权限路径或编译期语法问题
#define LUAERR_LUA_STATE 5002 //lua状态机初始化错误或损坏
#define LUAERR_SCRIPT_ERROR 5003 //脚本内部错误取result获取更多信息
#define LUAERR_SCRIPT_BAD_RET 5004 //脚本返回值类型不符合要求
#define LUAERR_UNLOADLIB_FAIL 5005 //释放的库未被加载
#define LUAERR_LUA_STACK 5006 //函数调用时,栈布局与约定不符
#define LUAERR_INIT_FAIL 5007 //lua状态机初始化失败
#define LUAERR_LIB_OVERFLOW 5008 //加载的库数量超过上限
#define LUAERR_CLASS_LOST 5009 //luarunner对象丢失
#define LUAERR_RESET_INPUT_FILE 5010 //重置输入文件失败,可能造成输入污染
#define LUAERR_CALLBACK 5011 //回调函数执行错误含doString语法错误
#define LUAERR_NOCHUNK_FOUND 5012 //没有找到待调用的函数
#define LUAERR_FUNCTION_NOT_FOUND 5013 //callfunction时未找到指定函数
#define LUAERR_FUNC_OVERFLOW 5014 //加载函数数量超过上限
#define LUAERR_FUNCTION_INVALID 5015 //预加载文件顶层执行后返回的不是函数
#define LUAERR_RESULT_TYPE 5016 //结果类型不支持如将string读作int
#endif