iOS平台如何全局捕获异常

  • Creator 版本:2.3.4

  • 目标平台:iOS

我的需求是全局捕获异常后上报,window.onerror和window.__errorHandler都试过了,没有按照预期触发,有没有其它的方法呢

1赞

我这边 也是用这个,是可以触发的
if (cc.sys.isNative) {
let __handler
if (window[’__errorHandler’]) {
__handler = window[’__errorHandler’]
}
window[’__errorHandler’] = function (…args) {
if (__handler) {
__handler(…args)
}
}
}

if (cc.sys.isBrowser) {
    let __handler
    if (window.onerror) {
        __handler = window.onerror
    }
    window.onerror = function (...args) {
        if (__handler) {
            __handler(...args)
        }
    }
}

可以用的啊

建议在c++层JavascriptCore里捕获,比较准确。

你好,你的引擎版本是多少?“window[’__errorHandler’] =…”这段代码是放到哪里的?

放到哪都行,比如放到error.js脚本里,你游戏初始化时调用一次。