微信小程序重写Page,全局捕获异常
- 捕获的异常可以用于解决生产环境的问题
1、errorHandler.js
import http from './http'
(function () {
// 重写page函数
let oldPage = Page
Page = function (obj) {
// 对Page的传参obj对象的所有函数进行异常捕捉
for (let key in obj) {
let oldFunction = obj[key]
if (typeof oldFunction === 'function') {
obj[key] = function () {
try {
return oldFunction.call(this, ...arguments)
} catch (e) {
const errInfo = `发生了错误!页面:${this.__route__ },方法:${key},错误信息:${e.message }` // 或序列化的Error
// 上传信息到后端
// http.request({
// url: '',
// method: 'POST',
// data: errInfo
// })
throw e
}
}
}
}
return oldPage(obj)
}
})();
2、app.js中使用
require('./common/utils/errorHandler')
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
最上级!
喜欢就支持一下吧