gpt4 book ai didi

C++ 捕获所有异常

转载 作者:IT老高 更新时间:2023-10-28 11:26:29 32 4
gpt4 key购买 nike

是否有与 Java 等效的 c++

try {
...
}
catch (Throwable t) {
...
}

我正在尝试调试调用 native Windows 函数的 Java/jni 代码,并且虚拟机不断崩溃。 native 代码在单元测试中看起来很好,并且只有在通过 jni 调用时才会崩溃。一个通用的异常捕获机制将被证明是非常有用的。

最佳答案

try{
// ...
} catch (...) {
// ...
}

将捕获所有 C++ 异常,但应将其视为糟糕的设计。您可以使用 c++11 的新 current_exception 机制,但如果您没有能力使用 c++11(需要重写的遗留代码系统),那么您就没有命名异常指针可用于获取消息或名称.您可能希望为可以捕获的各种异常添加单独的 catch 子句,并且只捕获底部的所有内容以记录意外异常。例如:

try{
// ...
} catch (const std::exception& ex) {
// ...
} catch (const std::string& ex) {
// ...
} catch (...) {
// ...
}

关于C++ 捕获所有异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/315948/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com