我创建了一个新的
WPF应用程序,并为MainWindow中的Loaded事件
添加了一个事件处理程序:
Loaded += (s,e) => { throw new Exception("AAAA!"); };
然后我从Visual C#启动此应用程序,应用程序不会崩溃也不显示未捕获的异常.
我希望它会崩溃,这个应用程序确实在其他计算机上崩溃了.但为什么它适用于我的?
更新
添加了截图:
Loaded事件可以从
后台线程
调用.当在该线程中抛出异常时,它将被终止,但不会影响您的主应用程序线程.在许多事件处理程序中可以看到此行为,例如Timer_Elapsed事件处理程序通常也不会影响您的
代码. 这个dows并不意味着你不应该关心这些
代码中的异常!