目前将vue项目打包嵌入到android打包壳中套壳使用;然后需要监控vue代码异常,使用以下方法捕获异常
- Vue.config.errorHandler监控vue异常
- window.onerror和window.addeventlistener("error")监控js代码异常
- window.onunhandledrejection和window.addeventlistener("unhandledrejection")捕获未被处理的promise异常
最主要的是onunhandledrejection异常,因为是老项目,代码中promise方法基本都没有catch,所以需要增加全局捕获,不然改整个项目不现实;
其中Vue.config.errorHandler
在web环境和android app中可以捕获vue错误;
但是其他方法在web环境下生效,在android app环境下不生效,方法都不进入
代码位置 main.js
抛出如下错误
所有的监听都捕获不到错误
环境
- vue 2.5.2
- android版本 8
- android sdk 28
各位大神有遇到此问题吗?如何解决?
谢谢!
- 在index.html中尝试添加监听,只会在html文件中抛出异常才会捕获,当进入vue代码中无效
- 将异常捕获代码放在app.vue-> mounted()方法中,使用this.$nextTick中包裹还是无效
webview设置