# 错误码与错误处理

# 错误处理

网关错误码通常以 102 开头,表示小程序网关错误。其他错误码以 -601 开头,表示系统错误。

在自动接入的情况下,网关发生错误后,会自动使用 wx.request 进行降级重试。此时开发者不需要处理网关错误,只需关注源站错误即可。

在自动接入关闭降级/手动接入的情况下,开发者可以在 fail 回调或 catch 中处理错误,参考代码如下。

// 自动接入
wx.request({
  url: '...',
  fail: (error) => {
    if (error.errCode) {
      // 处理网关错误(如果关闭了自动降级功能)
      console.error('网关错误码:', error.errCode); // 网关错误码: 102020
      console.error('错误信息:', error.message); // 错误信息: gateway.call: fail wx system error , code: 102020, callid: 1755674590892-H_i-6vCT
    } else {
      // 处理降级到源站后的其他网络错误
      console.error('其他错误:', error);
    }
  }
})
// 手动接入
gateway.call({
  url: '...',
  fail: (error) => {
    if (error.errCode) {
      // 处理网关错误
      console.error('网关错误码:', error.errCode); // 网关错误码: 102020
      console.error('错误信息:', error.message); // 错误信息: gateway.call: fail wx system error , code: 102020, callid: 1755674590892-H_i-6vCT
    } else {
      // 处理其他错误
      console.error('其他错误:', error);
    }
  }
})

# 错误码

errCode 说明
102003 触发用户频率限制
102006 非法请求
102016 路由错误。请求地址不在微信网关的小程序 URL 里
102020 触发微信网关套餐 QPS 限制
102021 触发微信网关套餐带宽限制
102022 请求地址不在微信网关的小程序 URL 里
104100 请求重放拦截
-601001 系统失败
-601008 请求超时
-601069 微信网关访问源站时连接失败