Csharp/C#教程:是否可以尝试/捕获整个C#程序?分享


是否可以尝试/捕获整个C#程序?

AC#程序由以下方式调用:

Application.Run (new formClass ()); 

我想对整个事情进行尝试/捕获以捕获任何未捕获的exception。 当我把它放在这个Run方法时,不会捕获exception; 当程序在未捕获的exception之后终止时,控制仅返回此处。

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

捕获Windows Form的未处理exception,将AppDomain.UnhandledExceptionApplication.ThreadException事件挂钩。

有趣的是: 托管应用程序中的意外错误

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

但是,您可以使用其Application.ThreadException处理程序(并通过UnhandledExceptionMode 控制行为 )来捕获并处理WinForms应用程序的UI线程中的所有exception。 其他抛出exception的线程将不会被此处理程序捕获。

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

上述就是C#学习教程:是否可以尝试/捕获整个C#程序?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1010067.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐