• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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