为了账号安全,请及时绑定邮箱和手机立即绑定

Application.ThreadException和AppDomain

Application.ThreadException和AppDomain

C#
开心每一天1111 2019-12-17 11:21:55
好吧,这很简单:Application.ThreadException和之间有什么区别AppDomain.CurrentDomain.UnhandledException?我需要同时处理两者吗?谢谢!
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

Application.ThreadException特定于Windows窗体。Winforms运行事件处理程序以响应Windows发送给它的消息。例如,单击事件,我确定您知道它们。如果这样的事件处理程序抛出异常,则Winforms消息循环中就会有一个捕获该异常的后台程序。

该支持会触发Application.ThreadException事件。如果您不重写它,则用户将获得ThreadExceptionDialog。这使他可以忽略异常并继续运行您的程序。顺便说一句,这不是一个好主意。

您可以通过在Program.cs的Main()方法中调用Application.SetUnhandledExceptionMode()来禁用此行为。没有适当的支持,当线程因未处理的异常而死亡时,会发生通常的事情:AppDomain.UnhandledException触发并且程序终止。

Fwiw:“ ThreadException”是一个非常糟糕的名称选择。它与线程无关。


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 508 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信