-1

我的问题是我使用了另一个开发组编写的 C++ DLL。不幸的是,我在 C# 程序中调用的函数中存在错误(例如,除以 0)。它导致我的程序突然终止。

谁能推荐如何修复它或跳过这个错误,确保我的程序不会再被终止?

4

1 回答 1

0

你能澄清一下dll是通过pinvoke还是COM调用的吗?

你得到 DivideByZeroException 了吗?

如果是这样,捕获它,记录它,然后重新抛出或抛出一个包装异常。

您不得继续业务功能/事务,尽管程序可能不一定会终止。

我相信大多数现代开发框架都提供了捕获未捕获异常的机制,作为最终的安全网,尽管您可以创建自己的一个。

根据您正在开发的应用程序类型,对于 WinForm 应用程序,您可以检查 AppDomain.UnhandledException 或 Application.ThreadException。对于 asp .net,取决于你使用的是什么框架,有很多选择,例如,你可以看看 HttpApplication.Error 。

于 2013-01-18T03:08:45.413 回答