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

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

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

HarmonyOS
2025-01-09 15:05:04
浏览
收藏 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
微信
回复
2025-01-09 17:18:01
相关问题
HarmonyOS 捕获异常抛出为什么报错
349浏览 • 1回复 待解决
c/c++主动调用ArkTS存在问题
1046浏览 • 1回复 待解决
HarmonyOS c++ api文档无法下载
462浏览 • 1回复 待解决
ErrorManager捕获js异常
1027浏览 • 1回复 待解决
如何捕获应用发生异常
982浏览 • 1回复 待解决
HarmonyOS taskpool无法执行C++代码
522浏览 • 1回复 待解决
HarmonyOS 捕获异常Invalid parameter value
313浏览 • 1回复 待解决
HarmonyOS可以全局捕获异常吗?
401浏览 • 1回复 待解决
调用 window.getWindowAvoidArea 时抛出异常
2199浏览 • 1回复 待解决
HarmonyOS ArkTS与C/C++交互
1165浏览 • 1回复 待解决
如何修改C++版本?C++支持情况?
1493浏览 • 1回复 待解决
烧录捕获异常信息,怎么解决?
8911浏览 • 2回复 待解决
HarmonyOS C++开发
445浏览 • 1回复 待解决
如何在C/C++ 创建ArkTS对象
2799浏览 • 1回复 待解决
HarmonyOS C++跨平台
372浏览 • 1回复 待解决
HarmonyOS C++异步操作
685浏览 • 1回复 待解决