我用了 onerror 和 __errorHandler, 但是都只能捕获到全局的那种报错, 我故意写在UI脚本里面的错误捕捉不到。
请问是我做法不对还是什么问题?
我不需要很复杂的功能, 只要客户端能捕获到脚本错误, 然后上报到自己的Log服务器就行了。
类似lua 的错误捕捉。
我用了 onerror 和 __errorHandler, 但是都只能捕获到全局的那种报错, 我故意写在UI脚本里面的错误捕捉不到。
请问是我做法不对还是什么问题?
我不需要很复杂的功能, 只要客户端能捕获到脚本错误, 然后上报到自己的Log服务器就行了。
类似lua 的错误捕捉。
js: window.onerror
jsb: JS_SetErrorReporter
c++: 信号量
jni: 信号量
java:Thread.setDefaultUncaughtExceptionHandler
ios:NSSetUncaughtExceptionHandler
windows: SetUnhandledExceptionFilter
只捕获js的错误
if (cc.sys.isNative) {
let __handler
if (window['__errorHandler']) {
__handler = window['__errorHandler']
}
window['__errorHandler'] = function (...args) {
my.log('游戏报错,原生系统')
handleError(...args)
if (__handler) {
__handler(...args)
}
}
}
if (cc.sys.isBrowser) {
let __handler;
if (window.onerror) {
__handler = window.onerror
}
window.onerror = function (...args) {
my.log('游戏报错,浏览器')
handleError(...args)
if (__handler) {
__handler(...args)
}
}
}
马克!!!!!!!!!
666666666!!!
谢谢!但 __errorHandler 抓不住异步/Promise中的错误,还有待继续研究。
我也是用的 __errorHandler 也是不能捕捉Promise 的报错,请问你现在找到捕捉Promise 报错的方法了吗?
自己实现Promise, 自己抛出error
或者直接接SDK吧, 反正安卓和苹果都得接。
百度 bugout
mark mark
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。