HarmonyOS 捕获异常再抛出为什么报错

public async put(key: string, value: string) {
  const store = await this.initManager();
  logger.debug('Succeeded in getting KVStore.');
  try {
    await store.put(key, value);
    logger.debug('Succeeded in putting data.');
  } catch (err) {
    logger.debug(`Failed to put data. Code:${err.code},message:${err.message}`);
    throw err
  }
}

如以上代码,想在发生异常时能输出日志,但是并不处理理异常仍是向调用者抛出,ide提示throw err 报错致编译不通过。

"throw" statements cannot accept values of arbitrary types (arkts-limited-throw) <ArkTSCheck>
HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

ArkTS只支持抛出Error类或其派生类的实例。禁止抛出其他类型(例如number或string)的数据,具体可以参考下:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5#限制throw语句中表达式的类型

分享
微博
QQ
微信
回复
4天前
相关问题
ErrorManager捕获js异常
678浏览 • 1回复 待解决
如何捕获应用发生的异常
694浏览 • 1回复 待解决
调用 window.getWindowAvoidArea 时抛出异常
1866浏览 • 1回复 待解决
烧录捕获异常信息,怎么解决?
8489浏览 • 2回复 待解决
Checkstyle插件使用中为什么报错
8393浏览 • 1回复 已解决
首选项存储问题,为什么报错
327浏览 • 1回复 待解决
HarmonyOS如何捕获UnhandledPromiseRejection
405浏览 • 1回复 待解决
HarmonyOS 全局崩溃捕获问题
52浏览 • 1回复 待解决
HarmonyOS 捕获屏幕视频流
63浏览 • 1回复 待解决