错误码
收藏
我的收藏

在使用小程序组件/API 时,抛出的异常或异常回调对象中,已有 errMsg(错误信息),errorCode(错误码)和 errorType(错误分类) 会逐步覆盖到所有的组件/API。​
    异常对象说明如下:​
属性名
类型
说明
errMsg​
string​
错误说明​
errorCode​
number​
错误码,会逐步覆盖到所有组件/API,具体可参考对应组件/API 的对外文档​
errorType​
string​
errorType
代码示例​
HTML
复制
tt.showShareMenu({
menus: ["record", "share"],
success(res) {
tt.showToast({
title: '展示成功',
});
console.log(res.errMsg);
},
fail(res) {
const { errMsg, errorCode, errorType } = res;
tt.showToast({
title: errMsg,
icon: 'fail'
});
console.log(errMsg, errorCode, errorType);
}
});

背景介绍​

errorCode 和 errorType 错误码规范的出现是为了解决以下问题:​
    现有的错误码 errNo 无法与组件/API 对应上,不同组件/API 可能会出现相同的错误码 errNo;​
    目前的错误码规范不利于错误消费,难以区分开发者需要关注的错误和小程序框架的错误。​
因此,我们设计了一套拥有统一规范的 errorCode 和 errorType,以帮助开发者更好地开发调试及处理错误。​
errorCode 和 errorType 错误码规范有如下优点:​
    一个错误码能对应上一个组件/API,便于错误消费;​
    通过 errorType,可以有针对性的消费需要关注的错误。​

错误码设计​

errorCode​

errorCode 采用 AAAABB 6 位错误码规范,其中 1~4 位代表组件/API 编号,5~6 位代表具体错误类型,取值范围如下:​
AAAA
BB
1000~9999​
通用错误码

errorType​

errorType 代表错误分类,取值如下:​
错误分类
说明
D​
Developer。对应开发者侧的异常,比如参数不符合预期等​
U​
User。对应用户侧的异常,比如有部分能力使用需要用户授权,用户拒绝授权等​
F​
Framework。对应小程序框架内部的异常,有需要请拉客服咨询​
I​
Information。对应一些可以忽略的错误​

通用错误码​

通用错误码指的是不同的组件/API 所共有的错误,错误码最后两位取值在下表中,对应的是通用错误码。通用错误码的取值和说明如下:​
BB(具体错误类型)
errorType
说明
79​
D​
隐私 API 不在隐私协议能力白名单中,具体可参考:配置隐私协议
80​
U​
用户拒绝隐私协议授权​
81​
D​
能力已下线​
82​
D​
小程序未通过试运营期,无法调用进阶能力,具体可参考:小程序试运营期管理规范
83​
D​
白名单异常。该小程序没有调用此 API 的白名单,有需要请拉客服咨询​
84​
F​
小程序框架内部未实现,有需要请拉客服咨询​
85​
U​
无网络​
86​
D​
调用太过频繁,建议控制能力调用频率​
87​
D​
宿主不支持,例如抖音的能力在其他 APP 不可用​
88​
D​
系统不支持,例如只有 Android 支持的功能在 iOS 不可用​
89​
U​
用户未授予系统权限,例如 GPS 定位未打开​
90​
U​
用户未授予小程序权限,例如拒绝 tt.getUserProfile 获取用户信息​
91​
F​
小程序框架内部错误,有需要请拉客服咨询​
92​
F​
小程序框架运行环境异常,有需要请拉客服咨询​
93​
F​
小程序框架兜底异常,有需要请拉客服咨询​
94​
U​
部分 API 在后台时无法调用​
95​
U​
用户取消操作​
96​
U​
用户未登录​
97​
U​
用户取消登录​
98​
D​
获取平台登录 session 失败​
99​
D​
参数错误​