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
待解决
相关问题
如何捕获应用发生的异常?
1492浏览 • 1回复 待解决
HarmonyOS 捕获屏幕视频流
780浏览 • 1回复 待解决
HarmonyOS 全局崩溃捕获问题
956浏览 • 1回复 待解决
ErrorManager捕获js异常
1632浏览 • 1回复 待解决
HarmonyOS可以全局捕获异常吗?
942浏览 • 1回复 待解决
HarmonyOS 捕获异常Invalid parameter value
1130浏览 • 1回复 待解决
对于数据库操作,需要捕获两次err,如何优化成捕获一次即可
2413浏览 • 1回复 待解决
如何通过ErrorManager捕获native层的崩溃信息
2774浏览 • 1回复 待解决
如何使用DFX的ErrorManager来捕获js异常?
1559浏览 • 1回复 待解决
HarmonyOS 捕获异常再抛出为什么报错
1412浏览 • 1回复 待解决
如何进行全局异常捕获机制,类似ANR机制
3085浏览 • 1回复 待解决
烧录捕获到异常信息,怎么解决?
9614浏览 • 2回复 待解决
HarmonyOS 能否全局捕获手滑后退的事件
636浏览 • 1回复 待解决
HarmonyOS 内C++主动抛出的异常无法捕获
857浏览 • 1回复 待解决
捕获拖动手势进行滚动视图滚动,如何实现惯性滚动
1409浏览 • 1回复 待解决
#鸿蒙学习大百科#如何捕获程序的ANR异常?
939浏览 • 1回复 待解决
请问3861板子上OLED显示板的按键事件如何捕获?
12293浏览 • 3回复 待解决
HarmonyOS 监测滚动事件的API如何判断捕获到的是开始还是结束
754浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何利用HarmonyOS NEXT的网络状态监测API捕获网络状态变化?
911浏览 • 0回复 待解决
鸿蒙js 捕获事件绑定 无法触发,请大神赐教!
9053浏览 • 2回复 待解决
HarmonyOS 调用access.enableBluetooth()申请打开蓝牙,用户点击拒绝,如何捕获用户操作状态?
1183浏览 • 1回复 待解决
在模拟器中调试时,如何捕获应用崩溃时的详细日志?
540浏览 • 0回复 待解决
在真机调试时,如何捕获并分析 MediaPlayer 的底层Native崩溃日志?
553浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何使用onMouse回调捕获和处理鼠标事件数据?
1443浏览 • 1回复 待解决
已实现捕获promise异常: