首页 目录 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的形式返回给客户端,rspexpressresponse 对象

data(Any data)

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

attach(Object data)

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

is(ApiError object)

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