根据文档 常见问题 中的如何捕获 app 的 onError
怎么无法捕获异常错误
天空微算
- 发布:2019-06-24 09:39
- 更新:2019-06-24 11:56
- 阅读:5282
如何捕获 app 的 onError
分类:uni-app
天空微算 (作者)
-
通过 vue 本身的全局捕获
在main.js中 //系统错误捕获 const errorHandler = (err, vm, info) => { // handle error // `info` 是 Vue 特定的错误信息,比如错误所在的生命周期钩子 // 只在 2.2.0+ 可用 // console.error('抛出全局异常'); // console.log("message: " + err.message); // console.log("stack: " + err.stack); // console.error(err); var log = { message: err.message, stack: err.stack } uni.setStorage({ key: 'errlog', data: log, success: function() { console.log('success'); } }); } Vue.config.errorHandler = errorHandler; Vue.prototype.$throw = (error) => errorHandler(error, this);
2.在 app 的 应用生命周期中加上
onError: function(err) {
// 这里只能捕获方法内的异常,不能捕获生命周期中的逻辑异常
console.log('方法内异常');
var json = JSON.stringify(err);
var arr = json.split("\\n");
var log = {
message : arr[1],
stack: err
}
this.$throw(log)
}