在使用部分小程序 API / 组件时,抛出的异常(fail 回调 / Promise reject)Error
对象中除了带有 errMsg
,还会带有通用错误码 errno
。
代码示例
wx.openBluetoothAdapter({
success (res) {
console.log(res)
}
fail (err) {
console.log(err.errno)
}
})
errno
错误码的出现是为了解决以下问题:
- 目前部分 API 在出现错误时,只返回错误信息
errMsg
,没有错误码。另一部分 API 虽然有 errCode,但没有形成统一格式规范。 - 目前有 errCode 的 API 中,不同的 API 失败时返回的 errCode 粒度不同。部分 API 的 errCode 粒度太大,信息不足。
- 相同的错误在不同的 API 中 errCode 未对齐,不便于开发者记忆和处理。
因此,我们设计了一套拥有统一规范的错误码errno
,以帮助开发者更好地开发调试及处理错误。
errno
错误码有如下优点:
- 在错误码格式上,拥有统一的设计规范。
- 不同的 API 中出现的相同错误,对应的错误码一致。
- 错误码中包含 API 类别信息,帮助开发者快速定位问题。
- 不同 API 中的错误码粒度较为统一。
当 Error
对象中同时有 errno
错误码和 errCode
错误码时,一般以 errno
错误码为准。
后续 errno
错误码会逐步推广到所有 API 接口,并取代现有的 errCode
参数,为开发者提供错误信息。