• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.app.ability.errorManager (ErrorManager)
2
3ErrorManager模块提供对错误观察器的注册和注销的能力。
4
5> **说明:**
6>
7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10```
11import errorManager from '@ohos.app.ability.errorManager'
12```
13
14## ErrorManager.on
15
16on(type: 'error', observer: ErrorObserver): number;
17
18注册错误观测器。
19
20**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
21
22**参数:**
23
24| 参数名 | 类型 | 必填 | 说明 |
25| -------- | -------- | -------- | -------- |
26| type | string | 是 | 调用接口类型 |
27| observer | [ErrorObserver](./js-apis-inner-application-errorObserver.md) | 是 | 返回观察者的数字代码。 |
28
29**错误码**:
30
31| 错误码ID | 错误信息 |
32| ------- | -------- |
33| 16000003 | Id does not exist. |
34
35以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
36
37**示例:**
38
39```js
40let observer = {
41    onUnhandledException(errorMsg) {
42        console.log('onUnhandledException, errorMsg: ', errorMsg)
43    }
44};
45try {
46    errorManager.on('error', observer);
47} catch (paramError) {
48    console.log('error: ' + paramError.code + ', ' + paramError.message);
49}
50```
51
52## ErrorManager.off
53
54off(type: 'error', observerId: number,  callback: AsyncCallback\<void>): void;
55
56注销错误观测器。
57
58**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
59
60**参数:**
61
62| 参数名 | 类型 | 必填 | 说明 |
63| -------- | -------- | -------- | -------- |
64| type | string | 是 | 调用接口类型 |
65| observerId | number | 是 | 返回观察者的数字代码。 |
66| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
67
68**错误码**:
69
70| 错误码ID | 错误信息 |
71| ------- | -------- |
72| 16000003 | Id does not exist. |
73
74以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
75
76**示例:**
77
78```js
79let observerId = 100;
80
81function unregisterErrorObserverCallback(err) {
82    if (err) {
83        console.log('------------ unregisterErrorObserverCallback ------------', err);
84    }
85}
86try {
87    errorManager.off('error', observerId, unregisterErrorObserverCallback);
88} catch (paramError) {
89    console.log('error: ' + paramError.code + ', ' + paramError.message);
90}
91```
92
93## ErrorManager.off
94
95off(type: 'error', observerId: number): Promise\<void>;
96
97注销错误观测器。
98
99**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
100
101**参数:**
102
103| 参数名 | 类型 | 必填 | 说明 |
104| -------- | -------- | -------- | -------- |
105| type | string | 是 | 调用接口类型 |
106| observerId | number | 是 | 返回观察者的数字代码。 |
107
108**返回值:**
109
110| 类型 | 说明 |
111| -------- | -------- |
112| Promise\<void> | 返回执行结果。 |
113
114**错误码**:
115
116| 错误码ID | 错误信息 |
117| ------- | -------- |
118| 16000003 | Id does not exist. |
119
120以上错误码详细介绍请参考[errcode-ability](../errorcodes/errorcode-ability.md)。
121
122**示例:**
123
124```js
125let observerId = 100;
126try {
127    errorManager.off('error', observerId)
128        .then((data) => {
129            console.log('----------- unregisterErrorObserver success ----------', data);
130        })
131        .catch((err) => {
132            console.log('----------- unregisterErrorObserver fail ----------', err);
133    });
134} catch (paramError) {
135    console.log('error: ' + paramError.code + ', ' + paramError.message);
136}
137
138```
139