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
待解决
相关问题
如何捕获应用发生的异常?
583浏览 • 1回复 待解决
对于数据库操作,需要捕获两次err,如何优化成捕获一次即可
1542浏览 • 0回复 待解决
ErrorManager捕获js异常
588浏览 • 1回复 待解决
烧录捕获到异常信息,怎么解决?
8358浏览 • 2回复 待解决
如何使用DFX的ErrorManager来捕获js异常?
710浏览 • 1回复 待解决
如何通过ErrorManager捕获native层的崩溃信息
1677浏览 • 1回复 待解决
捕获拖动手势进行滚动视图滚动,如何实现惯性滚动
255浏览 • 2回复 待解决
如何进行全局异常捕获机制,类似ANR机制
1929浏览 • 1回复 待解决
请问3861板子上OLED显示板的按键事件如何捕获?
10968浏览 • 3回复 待解决
#鸿蒙学习大百科#如何捕获程序的ANR异常?
132浏览 • 1回复 待解决
鸿蒙js 捕获事件绑定 无法触发,请大神赐教!
7857浏览 • 2回复 待解决
是否有配置可以让IDE不响应raise捕获到的assert信号
562浏览 • 1回复 待解决
两个叠加的视图,触发手势事件时,是否能够正常捕获到事件
643浏览 • 1回复 待解决
鸿蒙有没有跟安卓@Captor一样功能的用来捕获参数用来验证的注解
5066浏览 • 1回复 待解决
如何捕获应用崩溃信息(CPP_CRASH、JS_CRASH、APP_FREEZE)并上报给自己的服务器?(应用订阅系统事件)
1302浏览 • 1回复 待解决
两个叠加的视图,触发手势事件时,下面的视图是否能够正常捕获到事件
2102浏览 • 1回复 待解决
HarmonyOS如何实现Toast
322浏览 • 1回复 待解决
HarmonyOS 如何打开应用?
140浏览 • 2回复 待解决
HarmonyOS 如何短震动?
79浏览 • 1回复 待解决
HarmonyOS TextInput如何clearFocus
287浏览 • 1回复 待解决
HarmonyOS CustomDialogController如何封装
362浏览 • 1回复 待解决
HarmonyOS 如何生成UUID?
166浏览 • 1回复 待解决
HarmonyOS如何读取文件
423浏览 • 1回复 待解决
HarmonyOS 如何获取rnInstance
326浏览 • 2回复 待解决
已实现捕获promise异常: