• 应用
  • 页面
  • 小程序配置
  • 自定义组件
  • 基础库
  • 场景值
  • 错误码
  • npm 功能
  • SJS 语法参考
  • 错误码
    收藏
    我的收藏

    在使用小程序组件/API 时,抛出的异常或异常回调对象中,已有 errMsg(错误信息),errorCode(错误码)和 errorType(错误分类) 会逐步覆盖到所有的组件/API。
      异常对象说明如下:
    属性名
    类型
    说明
    errMsg
    string
    错误说明
    errorCode
    number
    错误码,会逐步覆盖到所有组件/API,具体可参考对应组件/API 的对外文档
    errorType
    string
    错误分类,取值 D | U | F | I,取值说明参考errorType,会逐步覆盖到所有组件/API,具体可参考对应组件/API 的对外文档
    代码示例
    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
    00~99。其中取值 79~99 对应通用错误码,详情见通用错误码

    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
    参数错误