# 18.11:异常捕获
ArkUI 开发框架在 @ohos.app.ability.errorManager
模块里提供了对错误观察器的注册和注销的能力。当程序出现了未捕获的异常时,可以通过注册全局异常观察器的方式捕获这些异常,有了异常信息后可以采取上报服务器的方式便于我们后续修复异常。
# 18.11.1:errorManager使用
捕获全局异常直接使用 @ohos.app.ability.errorManager
模块提供的方法即可:
引入errorManager
import errorManager from '@ohos.app.ability.errorManager';
1使用errorManager
private registerErrorObserver() { errorManager.on("error", { onUnhandledException(error: string) { console.log("UnHandled Exception: " + error) } }) }
1
2
3
4
5
6
7
# 18.11.2:完整样例
在 FA
模型下直接在 app.ets
的 onCreate() 方法中注册异常监听器,在 Stage
模型下,可以直接在自定义的 AbilityStage
的 onCreate() 方法中注册异常监听器,以 Stage
模型为例,代码如下:
import AbilityStage from '@ohos.app.ability.AbilityStage';
import errorManager from '@ohos.app.ability.errorManager';
export default class MainAbilityStage extends AbilityStage {
onCreate() {
console.log("onCreate()")
// 注册异常监听器
this.registerErrorObserver()
}
private registerErrorObserver() {
errorManager.on("error", {
onUnhandledException(error: string) {
console.log("unHandled Exception: " + error)
// TODO:后续上报服务器
}
})
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
← 18.10:性能统计 18.12:屏幕截图 →
请作者喝杯咖啡
©arkui.club版权所有,禁止私自转发、克隆网站。