js-apis-inner-application-errorObserver.md 2.0 KB
Newer Older
M
m00512953 已提交
1 2
# ErrorObserver

H
HuangXW 已提交
3
定义异常监听,可以作为[ErrorManager.on](js-apis-app-ability-errorManager.md#errormanageron)的入参监听当前应用发生的异常。
M
m00512953 已提交
4

5 6 7 8 9 10
## 导入模块

```ts
import errorManager from '@ohos.app.ability.errorManager';
```

H
HuangXW 已提交
11
## ErrorObserver.onUnhandledException
M
m00512953 已提交
12 13 14 15 16 17 18 19

onUnhandledException(errMsg: string): void;

将在js运行时引发用户未捕获的异常时调用。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**
Z
zhongjianfei 已提交
20

M
m00512953 已提交
21 22 23 24 25
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errMsg | string | 否 | 有关异常的消息和错误堆栈跟踪。 |

**示例:**
Z
zhongjianfei 已提交
26

M
m00512953 已提交
27
```ts
D
donglin 已提交
28
import errorManager from '@ohos.app.ability.errorManager';
M
m00512953 已提交
29 30

let observer = {
31
  onUnhandledException(errorMsg) {
M
mingxihua 已提交
32
    console.error('onUnhandledException, errorMsg: ', errorMsg);
33
  }
M
mingxihua 已提交
34
};
H
HuangXW 已提交
35 36

try {
M
mingxihua 已提交
37
    errorManager.on('error', observer);
H
HuangXW 已提交
38
} catch (error) {
Z
zhoujun62 已提交
39
    console.error('registerErrorObserver failed, error.code: ${error.code}, error.message: ${error.message}');
H
HuangXW 已提交
40 41
}
```
42 43 44 45 46

## ErrorObserver.onException

onException?(errObject: Error): void;

X
xinking129 已提交
47
将在应用运行异常时调用。
48 49 50 51 52 53 54

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
X
xinking129 已提交
55
| errObject | Error | 是 | 有关异常事件名字、消息和错误堆栈信息的对象。 |
56 57 58 59 60 61 62 63 64

**示例:**

```ts
import errorManager from '@ohos.app.ability.errorManager';

let observer = {
  onUnhandledException(errorMsg) {
    console.error('onUnhandledException, errorMsg: ', errorMsg);
X
xinking129 已提交
65
  },
X
xinking129 已提交
66
  onException(errorObj) {
67 68
    console.log('onException, name: ', errorObj.name);
    console.log('onException, message: ', errorObj.message);
X
xinking129 已提交
69
    if (typeof(errorObj.stack) === 'string') {
70 71 72 73 74 75 76 77
        console.log('onException, stack: ', errorObj.stack);
    }
  }
};

try {
    errorManager.on('error', observer);
} catch (error) {
Z
zhoujun62 已提交
78
    console.error('registerErrorObserver failed, error.code: ${error.code}, error.message: ${error.message}');
79 80
}
```