首页 目录 View on GitHub

the Leancloud framework G

返回

作用

统一所有用户级的错误信息,能被客户端轻松的使用。
防止代码中使用魔数
这些错误对象满足 new ApiError instanceof Error

自动生成

通过解析 include/ErrorMessageDefine.json 文件,能自动生成错误对象。
这个json文件需要定义一个数组,其每一项都是一个错误码定义,符合以下结构:
[错误码, 错误的名称, 错误提示信息]
其中错误码可以省略,将自动生成不重复的错误码。错误码不能小于0,也不能重复。
错误的名称必须以 E_ 开头,允许大写英文字母、数字、下划线。

系统内部存在内置错误码。包括E_SUCCESS,它的错误码总是等于0。
以及其他内部错误,这些错误码总是小于0。

所有这些错误都能通过 ApiError.E_NAME 访问

API

构造函数(String message, String name, String code)
分别对应提示信息、名称、错误码
创建错误不会将它注册到 ApiError.E_NAME

toJSON()

返回一个JS对象,它包含当前 ApiError 的全部信息

toStrongJSON()

返回一个JS对象,它除了 toJSON 外,还会去掉所有循环引用

stringify()

返回一个字符串,它是 toStrongJSON 的字符串版本

response(Response rsp)

将当前错误对象以json的形式返回给客户端,rsp 是 express 的 response 对象

data(Any data)

根据当前对象复制并返回新的错误对象,并在新的对象中添加数据 data,toJSON 时,会增加一个 data 属性。

attach(Object data)

根据当前对象复制并返回新的错误对象,同时附加数据 data,toJSON 时,会将 data 扩展到结果数据中。
例如可以用 ApiError.E_SUCCESS.attach({ message: "重复操作" }) 来覆盖默认的 “操作成功”提示
切勿覆盖 code 属性,将导致简单的问题变得非常难以捕捉。

is(ApiError object)

判断两个错误是否相等,依据是 code 是否相等,如果 object 不是一个ApiError,则返回 false