异常上报
info 阅读本小节前请确保你已经知道如何初始化知晓云 SDK
通过 wx.BaaS.ErrorTracker 对象,开发者可以对小程序运行中产生的错误进行上报分析,并在知晓云控制台观察特定错误影响的范围和设备数量,以便快速定位代码中的 bug,及时修复。
配置 ErrorTracker
初始化 ErrorTracker 的方式很简单,只需要在 app.js 中,调用 wx.BaaS.ErrorTracker.enable() 即可,
然后在 onError 生命周期中添加 wx.BaaS.ErrorTracker.track(res), 这样页面产生错误时,就可以自动上报了。
{% tabs pluginConf=”插件版”, fileConf=”文件版” %}
{% content “pluginConf” %}
配置 ErrorTracker — 插件版
编辑 app.js
App({onLaunch: function() {wx.BaaS = requirePlugin('sdkPlugin')wx.BaaS.wxExtend(wx.login,wx.getUserInfo,wx.requestPayment)wx.BaaS.init('[[client_id]]')wx.BaaS.ErrorTracker.enable() // 初始化 ErrorTracker},onError: function(res) {// 当小程序产生错误时,会进行上报wx.BaaS.ErrorTracker.track(res)}})
{% content “fileConf” %}
配置 request 合法域名

配置 ErrorTracker — 文件版
编辑 app.js
App({onLaunch: function() {require('./sdk-v<version>')wx.BaaS.init('[[client_id]]')let usePlugins = true // 若开发者没有使用小程序插件,可以将其设置为 false,这样即可支持其他页面自动捕获错误wx.BaaS.ErrorTracker.enable({usePlugins}) // 初始化 ErrorTracker},onError: function(res) {// 当小程序产生错误时,会进行上报wx.BaaS.ErrorTracker.track(res)}})
{% endtabs %}
更细粒度的上报错误
有时候我们需要更细粒度的上报错误信息,这时可以在 promise 的 catch 回调或者 try-catch 块中进行上报操作。
示例代码
Page({verifySMSCode() {wx.BaaS.verifySmsCode({phone: '132888888', code: 123456}).then(res => {// success}).catch(err => {// 收集手机验证码错误的事件wx.BaaS.ErrorTracker.track(err)})}})
示例代码
Page({onButtonClick() {try {abc() // abc 函数不存在} catch (err) {wx.BaaS.ErrorTracker.track(err)}}})
API REFERENCE
wx.BaaS.ErrorTracker.enable(opts)
初始化 ErrorTacker,注意这里必须先调用 wx.BaaS.init('[[client_id]]')。
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| opts.usePlugins | boolean | 小程序是否使用了插件,在插件版 SDK 中,将强制重置此参数为 true |
wx.BaaS.ErrorTracker.track(err)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| err | string / Error 对象实例 | 需要上报的 bug 内容 |
