在 C++ 中捕获并重新抛出异常
catching and re-throwing exceptions in c++
我是一名 java 开发人员,试图维护一些非常古老的 c++ 代码(仍然必须使用 vs2010 进行编译)。
我在家里试图理解异常,但无法测试东西,如果这个问题很愚蠢,我很抱歉。
是否可以在低级函数中抛出异常并在顶部捕获它,还是必须在每个级别捕获并重新抛出?
由于我正在编写本机代码、调用托管代码、调用 c#、调用我的 java 休息资源,所以这很复杂。那么那里有任何级别我绝对必须抓住并转换然后重新抛出。
提前致谢。
编辑:Jesper 已经回答了前半部分,我的本机代码可以处理 system::exception 吗?
"Can you throw an exception in a low level function and just catch it at the top" - 是的。
"does it have to be caught and re-thrown at every level?" - 没有。
我是一名 java 开发人员,试图维护一些非常古老的 c++ 代码(仍然必须使用 vs2010 进行编译)。
我在家里试图理解异常,但无法测试东西,如果这个问题很愚蠢,我很抱歉。
是否可以在低级函数中抛出异常并在顶部捕获它,还是必须在每个级别捕获并重新抛出?
由于我正在编写本机代码、调用托管代码、调用 c#、调用我的 java 休息资源,所以这很复杂。那么那里有任何级别我绝对必须抓住并转换然后重新抛出。
提前致谢。
编辑:Jesper 已经回答了前半部分,我的本机代码可以处理 system::exception 吗?
"Can you throw an exception in a low level function and just catch it at the top" - 是的。
"does it have to be caught and re-thrown at every level?" - 没有。