-
Creator 版本: 3.3.2
-
目标平台: Android
期望捕获到全局未处理的promise异常,上报错误信息。
经测试web平台可以通过监听unhandledrejection事件,捕获未处理的promise内异常或reject。
但是在android平台,未成功捕获到相关事件。
查询到V8有 SetPromiseRejectCallback方法,但是不知道应该如何使用。
有没有可行的办法,求指点求分享~
Creator 版本: 3.3.2
目标平台: Android
期望捕获到全局未处理的promise异常,上报错误信息。
经测试web平台可以通过监听unhandledrejection事件,捕获未处理的promise内异常或reject。
但是在android平台,未成功捕获到相关事件。
查询到V8有 SetPromiseRejectCallback方法,但是不知道应该如何使用。
有没有可行的办法,求指点求分享~
请问下其他普通js的异常有接口捕获吗
web平台 onerror
native平台 __errorHandler
window.onerror = (message, source, lineno, colno, error) => {
cc.log('window.onerror', message, source, lineno, colno, error)
}
window.addEventListener("unhandledrejection", function (promiseRejectionEvent) {
cc.log('unhandled rejection', promiseRejectionEvent)
});
不过没有堆栈信息, 所以用处不大, 有没有可以打印堆栈信息的方法?
自己重写一下Promise.reject,在里面调用一下__errorHandler(reason)
web平台 onerror 测试发现有些异常捕获不到
onLoad(){
window.onerror = (message, source, lineno, colno, error) => {
console.log(‘window.onerror’, message, source, lineno, colno, error)
}
}
//这个捕获不到异常
start() {
console.log("------------>")
var a;
a.b.m = 5;
}
//通过点击触发,这个可以捕获到
onClick(){
console.log("------------>")
var a;
a.b.m = 5;
}
这问题貌似之前论坛也有人反馈过,感觉不是很影响。
我在2.4用的是这个
jsb[‘onError’]((location, message, stack)=>{
});
不知道3.x有没有效果