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
待解决
相关问题
HarmonyOS 捕获屏幕视频流
19浏览 • 1回复 待解决
如何捕获应用发生的异常?
672浏览 • 1回复 待解决
ErrorManager捕获js异常
666浏览 • 1回复 待解决
对于数据库操作,需要捕获两次err,如何优化成捕获一次即可
1606浏览 • 0回复 待解决
如何使用DFX的ErrorManager来捕获js异常?
793浏览 • 1回复 待解决
如何通过ErrorManager捕获native层的崩溃信息
1777浏览 • 1回复 待解决
如何进行全局异常捕获机制,类似ANR机制
2038浏览 • 1回复 待解决
烧录捕获到异常信息,怎么解决?
8469浏览 • 2回复 待解决
捕获拖动手势进行滚动视图滚动,如何实现惯性滚动
352浏览 • 2回复 待解决
请问3861板子上OLED显示板的按键事件如何捕获?
11088浏览 • 3回复 待解决
#鸿蒙学习大百科#如何捕获程序的ANR异常?
213浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何利用HarmonyOS NEXT的网络状态监测API捕获网络状态变化?
98浏览 • 0回复 待解决
HarmonyOS 调用access.enableBluetooth()申请打开蓝牙,用户点击拒绝,如何捕获用户操作状态?
134浏览 • 1回复 待解决
鸿蒙js 捕获事件绑定 无法触发,请大神赐教!
7955浏览 • 2回复 待解决
#鸿蒙通关秘籍#如何使用onMouse回调捕获和处理鼠标事件数据?
146浏览 • 1回复 待解决
是否有配置可以让IDE不响应raise捕获到的assert信号
637浏览 • 1回复 待解决
两个叠加的视图,触发手势事件时,是否能够正常捕获到事件
707浏览 • 1回复 待解决
鸿蒙有没有跟安卓@Captor一样功能的用来捕获参数用来验证的注解
5143浏览 • 1回复 待解决
两个叠加的视图,触发手势事件时,下面的视图是否能够正常捕获到事件
2205浏览 • 1回复 待解决
如何捕获应用崩溃信息(CPP_CRASH、JS_CRASH、APP_FREEZE)并上报给自己的服务器?(应用订阅系统事件)
1436浏览 • 1回复 待解决
HarmonyOS 如何短震动?
213浏览 • 1回复 待解决
HarmonyOS如何实现Toast
431浏览 • 1回复 待解决
HarmonyOS如何读取文件
628浏览 • 1回复 待解决
HarmonyOS TextInput如何clearFocus
367浏览 • 1回复 待解决
已实现捕获promise异常: