C#程序由以下人员调用:

Application.Run (new formClass ());

我想在整个过程中尝试使用try / catch来捕获任何未捕获的异常。当我把它放在这个Run方法时,不会捕获异常;当程序在未捕获的异常之后终止时,控制仅返回此处。

在哪里可以使用try / catch来覆盖整个程序?谢谢!

有帮助吗?

解决方案

捕获Windows Form的未处理异常连接 AppDomain.UnhandledException Application.ThreadException 事件。

感兴趣:托管应用程序中出现意外错误

其他提示

基本上,在使用默认CLR托管过程时,您无法捕获所有异常。期。这是因为 AppDomain.UnhandledException 事件只是一个通知,您无法处理异常(这意味着您无法阻止应用程序在处理通知后被终止)。

但是,您可以使用其 Application.ThreadException handler(和通过。 unhandledexceptionmode.aspx“rel =”nofollow noreferrer“> UnhandledExceptionMode )。引发异常的其他线程将不会被此处理程序捕获。

一般来说,尝试处理所有异常并不是一个好主意。但是,您可以使用 AppDomain.UnhandledException ,用于记录错误和/或执行重要的清理任务(例如,关闭基于文件的数据库或其他任何内容)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top