1

假设我们有一个由非托管 C++ 应用程序调用的 C#。来电者的代码不可用。

public void MethodCalledByUnmanagedCode()
{
try
{
   DoWork()
}
catch {}//assume we swallow exception, no logging or anything
}

在这种情况下,在任何情况下,有没有办法让任何异常冒泡到非托管 C++?

4

2 回答 2

4

您的代码可能会引发ThreadAbortException.

ThreadAbortException 是一个可以被捕获的特殊异常,但它会在 catch 块结束时自动再次引发。

于 2012-06-23T17:59:13.237 回答
2

在正常情况下,还有一些像 StackOverflowException 这样的异常处理程序永远不会发生。

查看详细信息C# 捕获堆栈溢出异常

于 2012-06-23T18:04:49.833 回答