你可以参考通用能力里的errorManager,该模块提供对错误观察器的注册和注销的能力。注意:注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...参考代码:// EntryAbility.ets let registerId = -1; let callback: errorManager.ErrorObserver = { onUnhandledException: (errMsg) => { console.log('onException, onUnhandledException:'+errMsg); }, onException: (errorObj) => { console.log('onException, name: ', errorObj.name); console.log('onException, message: ', errorObj.message); if (typeof(errorObj.stack) === 'string') { console.log('onException, stack: ', errorObj.stack); } } } export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); try { registerId = errorManager.on('error', callback); } catch (paramError) { let code = (paramError as BusinessError).code; let message = (paramError as BusinessError).message; console.error(`error: ${code}, ${message}`); } } onDestroy(): void { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); try { errorManager.off('error', registerId) .then((data) => { console.log('----------- unregisterErrorObserver success ----------', data); }) .catch((err: BusinessError) => { console.error('----------- unregisterErrorObserver fail ----------', err); }); } catch (paramError) { let code = (paramError as BusinessError).code; let message = (paramError as BusinessError).message; console.error(`error: ${code}, ${message}`); } } }
你可以参考通用能力里的errorManager,该模块提供对错误观察器的注册和注销的能力。注意:注册后可以捕获到应用产生的js crash,应用崩溃时进程不会退出。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...
参考代码: