100
|
JohnIdol · 技术社区 · 15 年前 |
1
95
application.threadexception特定于Windows窗体。WinForms运行事件处理程序以响应Windows发送给它的消息。例如,单击事件,我确信您了解它们。如果这样的事件处理程序引发异常,那么在winforms消息循环中会有一个back-stop来捕获该异常。 那个后盾触发了 Application.ThreadException 事件。如果不重写它,用户将得到 ThreadExceptionDialog . 这允许他忽略异常并继续运行您的程序。不是个好主意。 您可以通过调用 Application.SetUnhandledExceptionMode() 在program.cs的main()方法中。如果没有适当的backstop,当线程因未处理的异常而死亡时,通常会发生以下情况: AppDomain.UnhandledException 激发,程序终止。 fwiw:“threadexception”是一个非常糟糕的名字选择。它与线程无关。 |
2
33
在使用Windows窗体的应用程序中,主应用程序线程中未处理的异常会导致
从开始
Visual Studio 2005版
, the
Visual Basic
应用程序框架为主应用程序线程中未处理的异常提供了另一个事件-
要捕获非Windows窗体创建和拥有的线程中发生的异常,请使用
从开始
.NET 4
,对于损坏进程状态的异常(如堆栈溢出或访问冲突),不会引发此事件,除非事件处理程序是安全关键的并且具有
有关详细信息,请参阅 MSDN . |
3
18
好的-我把它放在我面前,这段代码来自 msdn 很容易解释:
|
4
0
问题是,
造成第二个问题的简单方法是创建一个没有尝试的应用程序…捕获块并抛出异常。
现在,如果你需要保险,你可以同时处理这两个问题,但是如果你捕获并处理你的
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |