HarmonyOS如何捕获UnhandledPromiseRejection
HarmonyOS中经常用到Promise方法,但其发生异常时,也可能导致后续代码无法执行。因此如何快速定位问题就是影响业务稳定发展的重要问题。但在现有文档中,未找到能够捕获UnhandledPromiseRejection异常的方法?
虽然errorManager有提供onUnhandledException方法,但经过测试,不能捕获promise未处理的异常。示例异常代码如下:
export function testThrowsInPromise (): Promise<boolean> {
const Tag = "【testThrowsInAsync】" ;
console.log(Tag+ "2、含有throw并返回Promise的方法,且没有catch");
return new Promise((resolve, reject) => {
throw Error(Tag +"throws 错误");
console.log(Tag +"There will not be executed after 'testThrowsInPromise'")
resolve(true);
})
}
另外,是否可以参考NodeJS,提供对应实现,示例代码如下:
process.on('uncaughtException', function (err,origin) {
//打印出错误
console.error('app error ====>>>',
`Caught exception: '${err}' \n`,
`Exception origin: '${origin} \n'`);
});
function testThrowsInPromise() {
return new Promise((resolve, reject) => {
throw Error("throws 错误");
resolve(true);
})
}
testThrowsInPromise();
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何捕获应用发生的异常?
923浏览 • 1回复 待解决
HarmonyOS 全局崩溃捕获问题
357浏览 • 1回复 待解决
HarmonyOS 捕获屏幕视频流
234浏览 • 1回复 待解决
ErrorManager捕获js异常
919浏览 • 1回复 待解决
HarmonyOS 捕获异常Invalid parameter value
153浏览 • 1回复 待解决
HarmonyOS可以全局捕获异常吗?
295浏览 • 1回复 待解决
如何通过ErrorManager捕获native层的崩溃信息
2020浏览 • 1回复 待解决
如何使用DFX的ErrorManager来捕获js异常?
949浏览 • 1回复 待解决
对于数据库操作,需要捕获两次err,如何优化成捕获一次即可
1733浏览 • 0回复 待解决
如何进行全局异常捕获机制,类似ANR机制
2175浏览 • 1回复 待解决
HarmonyOS 捕获异常再抛出为什么报错
236浏览 • 1回复 待解决
HarmonyOS 能否全局捕获手滑后退的事件
125浏览 • 1回复 待解决
#鸿蒙学习大百科#如何捕获程序的ANR异常?
314浏览 • 1回复 待解决
请问3861板子上OLED显示板的按键事件如何捕获?
11386浏览 • 3回复 待解决
烧录捕获到异常信息,怎么解决?
8760浏览 • 2回复 待解决
HarmonyOS 内C++主动抛出的异常无法捕获
93浏览 • 1回复 待解决
捕获拖动手势进行滚动视图滚动,如何实现惯性滚动
570浏览 • 2回复 待解决
#鸿蒙通关秘籍# 如何利用HarmonyOS NEXT的网络状态监测API捕获网络状态变化?
268浏览 • 0回复 待解决
HarmonyOS 监测滚动事件的API如何判断捕获到的是开始还是结束
141浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用onMouse回调捕获和处理鼠标事件数据?
581浏览 • 1回复 待解决
HarmonyOS 调用access.enableBluetooth()申请打开蓝牙,用户点击拒绝,如何捕获用户操作状态?
405浏览 • 1回复 待解决
鸿蒙js 捕获事件绑定 无法触发,请大神赐教!
8129浏览 • 2回复 待解决
是否有配置可以让IDE不响应raise捕获到的assert信号
714浏览 • 1回复 待解决
HarmonyOS WebView加载的H5页面,通过JavaScript捕获方法,如何弹出一个原生的选择框
103浏览 • 1回复 待解决
已实现捕获promise异常: