c++ - 在 C++ 中捕获并重新抛出异常

标签 c++ exception managed

我是一名 java 开发人员,试图维护一些非常古老的 c++ 代码(仍然必须使用 vs2010 进行编译)。

我在家里试图理解异常,但没有能力测试东西,如果这个问题很愚蠢,我很抱歉。

您能否在低级函数中抛出异常并在顶部捕获它,还是必须在每个级别捕获并重新抛出?

由于我正在编写 native 代码、调用托管代码、调用 c#、调用我的 java rest 资源,所以这很复杂。那么有没有我绝对必须捕获并转换然后重新抛出的水平。

提前谢谢你。

编辑:Jesper 已经回答了前半部分,我的 native 代码可以处理 system::exception 吗?

最佳答案

“您能否在低级函数中抛出异常并在顶部捕获它”- 是的。

“它是否必须在每一层都被捕获并重新抛出?” - 没有。

关于c++ - 在 C++ 中捕获并重新抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42796202/

相关文章:

c++ - 为什么宏展开有时会加一个空格?

c++ - 在 C++ 中转换没有按预期工作

c++ - C++异常分析工具

winforms - 使用 winforms 和 Managed C++ 浏览文件对话框

c# - 在 C# 中运行时 Hook 托管方法

c++ - 什么是具有自己类类型的良好二维数组替代方案

C++ Windows Sleep() 不停止其他任务

java - 立即重新抛出捕获的异常与抛出声明之间的区别

java - Jsoup 意外异常,正在工作并突然停止

调试 native (ANSI C DLL)和托管(C# 汇编)代码