c#处理访问冲突异常并防止应用程序终止

时间:2020-12-22 09:53:17

标签: c# .net access-violation

我遇到了抛出 System.AccessViolationException 的外部组件的问题。问题是该组件是 System.Windows.Forms.WebBrowser 中使用的 Internet Explorer/Edge 插件。因此,导航到特殊网页会触发网络浏览器加载 ActiveX 插件,该插件有时会失败。在此异常的情况下,我的整个应用程序将终止。我可以通过启用来捕获异常 legacyCorruptedStateExceptionsPolicy 在配置和设置中

AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;

在我的 Program.cs 中,但设置了 IsTerminating 标志,之后我的应用程序将崩溃。由于我使用 Form.Show 打开了多个窗口,其中一个窗口托管 WebBrowser 控件:有没有办法在控制 Web 浏览器的表单中捕获此异常并终止此异常?那么应用程序的其余部分还活着吗?或者甚至更好:是否可以处理异常,导航到只显示一条简短错误消息的空白页面?

非常感谢您的帮助!

0 个答案:

没有答案
相关问题