我在Promise的then回调中抛出一个error,没有使用catch处理:
function timeout(ms){ return new Promise((resolve) => { setTimeout(resolve, ms); });}timeout(100).then(() =>{ throw new Error("test");}); |
console的报错截图是这样的:
我发现onError方法不能捕获未处理的Promise错误,即unhandledrejection。
那我应该怎样怎样全局监听unhandledrejection呢?

同求. 求解决 ,今天算是被坑到了
我复写了console.error,在console.error里监听。
onError是小程序内部的回调,并不是语言/环境级别的异常捕获,Promise rejection只能自己catch啦~~~
网页阔以这样监控
window.addEventListener("unhandledrejection",function(event){});如果小程序也支持一下就好啦
// 上面有同学提到重新 console.error 方法,有用!!! var originError = console.error console.error = function(){ originError(...arguments) // 上报错误日志 }https://developers.weixin.qq.com/community/develop/doc/000c8cf5794770272709f38a756000 官方同学说在解决这个问题了
同求,纳闷为啥有些地方报错就不会触发,原来是异步函数里的报错就不会触发onError。 求解决方案
也是懒啊
求解决, 有人有解决方案了吗
直接使用
addEventListener("unhandledrejection",function(event){});就可以了开发者工具可以这样用, 但是真机不行(android)
这个有最终的解决方案吗,同求
同求. 求解决
哈哈
支持一哈