HarmonyOS 内C++主动抛出的异常无法捕获

try {
  throw std::ios_base::failure("asdadasdasd");
} catch (const char* msg) {
  int  a = 0;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

上述代码在C++环境下,异常无法捕获会导致crash。

HarmonyOS
2025-01-09 15:05:04
2807浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

类型不匹配std::ios_base::failure是从std::exception派生的,应该用std::exception或其派生类(如 std::ios_base::failure)的引用或指针来捕获这个异常。

try {
  throw std::ios_base::failure("asdasfasdasd");
} catch (const std::exception& e) {
  OH_LOG_INFO(LOG_APP,"Caught exception");
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
分享
微博
QQ
微信
回复
2025-01-09 17:18:01


相关问题
HarmonyOS 捕获异常抛出为什么报错
899浏览 • 1回复 待解决
c/c++主动调用ArkTS存在问题
1633浏览 • 1回复 待解决
ErrorManager捕获js异常
1420浏览 • 1回复 待解决
HarmonyOS c++ api文档无法下载
835浏览 • 1回复 待解决
如何捕获应用发生异常
1306浏览 • 1回复 待解决
HarmonyOS 捕获异常Invalid parameter value
864浏览 • 1回复 待解决
HarmonyOS taskpool无法执行C++代码
994浏览 • 1回复 待解决
HarmonyOS可以全局捕获异常吗?
767浏览 • 1回复 待解决
调用 window.getWindowAvoidArea 时抛出异常
2561浏览 • 1回复 待解决
烧录捕获异常信息,怎么解决?
9363浏览 • 2回复 待解决
如何修改C++版本?C++支持情况?
2171浏览 • 1回复 待解决
HarmonyOS ArkTS与C/C++交互
1743浏览 • 1回复 待解决
HarmonyOS C++开发
915浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS对象
3412浏览 • 1回复 待解决
HarmonyOS C++跨平台
838浏览 • 1回复 待解决