1# ErrorObserver 2 3定义异常监听,可以作为[ErrorManager.on](js-apis-app-ability-errorManager.md#errormanageron)的入参监听当前应用发生的异常。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import errorManager from '@ohos.app.ability.errorManager'; 13``` 14 15## ErrorObserver.onUnhandledException 16 17onUnhandledException(errMsg: string): void; 18 19将在js运行时引发用户未捕获的异常时调用。 20 21**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 22 23**参数:** 24 25| 参数名 | 类型 | 必填 | 说明 | 26| -------- | -------- | -------- | -------- | 27| errMsg | string | 是 | 有关异常的消息和错误堆栈跟踪。 | 28 29**示例:** 30 31```ts 32import errorManager from '@ohos.app.ability.errorManager'; 33 34let observer: errorManager.ErrorObserver = { 35 onUnhandledException(errorMsg) { 36 console.error('onUnhandledException, errorMsg: ', errorMsg); 37 } 38}; 39 40try { 41 errorManager.on('error', observer); 42} catch (error) { 43 console.error('registerErrorObserver failed, error.code: ${error.code}, error.message: ${error.message}'); 44} 45``` 46 47## ErrorObserver.onException<sup>10+</sup> 48 49onException?(errObject: Error): void; 50 51将在应用运行异常时调用。 52 53**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 54 55**参数:** 56 57| 参数名 | 类型 | 必填 | 说明 | 58| -------- | -------- | -------- | -------- | 59| errObject | Error | 是 | 有关异常事件名字、消息和错误堆栈信息的对象。 | 60 61**示例:** 62 63```ts 64import errorManager from '@ohos.app.ability.errorManager'; 65 66let observer: errorManager.ErrorObserver = { 67 onUnhandledException(errorMsg) { 68 console.error('onUnhandledException, errorMsg: ', errorMsg); 69 }, 70 onException(errorObj) { 71 console.log('onException, name: ', errorObj.name); 72 console.log('onException, message: ', errorObj.message); 73 if (typeof(errorObj.stack) === 'string') { 74 console.log('onException, stack: ', errorObj.stack); 75 } 76 } 77}; 78 79try { 80 errorManager.on('error', observer); 81} catch (error) { 82 console.error('registerErrorObserver failed, error.code: ${error.code}, error.message: ${error.message}'); 83} 84``` 85