c#中的Microsoft Visual C ++运行时库异常

时间:2014-07-14 10:58:29

标签: c# c++ visual-c++

我在c#应用程序中使用指纹捕获设备,该设备具有c ++ SDK类dll的包装类。 有时我得到一个c ++异常消息(见图),然后应用程序关闭,问题是我无法捕获此异常,并且无法在此异常后保持应用程序运行。  问题是:如何在C#中捕获此异常?enter image description here

1 个答案:

答案 0 :(得分:1)

  

如何在C#中捕获此异常?

你做不到。托管代码无法捕获非托管C ++异常。您需要在非托管代码中捕获非托管异常。您不能让非托管异常在非托管模块之外传播。

但是,错误对话框表明您遇到了更严重的问题。只能通过捕获异常来处理的问题。您将需要弄清楚为什么您的程序以这种灾难性的方式终止运行时,并阻止这种情况发生。该错误对话框表明您的program is calling abort(),即终端。

换句话说,您需要首先防止此错误发生,而不是尝试从中恢复。这不是您希望从中恢复的错误。