【问题标题】:Microsoft Visual C++ Runtime Library Exception in c#c# 中的 Microsoft Visual C++ 运行时库异常
【发布时间】:2014-07-14 10:58:29
【问题描述】:

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

【问题讨论】:

  • 如果发生此异常,您可以强制 Visual Studio 中断 (Here) ...也许您会在 dll 函数调用中发现无效参数...。

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2012-11-25
    • 1970-01-01
    • 2015-12-19
    相关资源
    最近更新 更多