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

try {
  throw std::ios_base::failure("asdadasdasd");
} catch (const char* msg) {
  int  a = 0;
}

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

HarmonyOS
1天前
浏览
收藏 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");
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 捕获异常抛出为什么报错
182浏览 • 1回复 待解决
c/c++主动调用ArkTS存在问题
689浏览 • 1回复 待解决
ErrorManager捕获js异常
827浏览 • 1回复 待解决
如何捕获应用发生异常
899浏览 • 1回复 待解决
HarmonyOS可以全局捕获异常吗?
187浏览 • 1回复 待解决
HarmonyOS c++ api文档无法下载
288浏览 • 1回复 待解决
HarmonyOS 捕获异常Invalid parameter value
18浏览 • 1回复 待解决
HarmonyOS taskpool无法执行C++代码
234浏览 • 1回复 待解决
调用 window.getWindowAvoidArea 时抛出异常
2049浏览 • 1回复 待解决
烧录捕获异常信息,怎么解决?
8648浏览 • 2回复 待解决
如何修改C++版本?C++支持情况?
1303浏览 • 1回复 待解决
HarmonyOS ArkTS与C/C++交互
951浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS对象
2481浏览 • 1回复 待解决
HarmonyOS C++开发
158浏览 • 1回复 待解决
HarmonyOS C++跨平台
212浏览 • 1回复 待解决