原来WPF默认处理了这么多Exception,见识了

简介: 原来WPF默认处理了这么多Exception,见识了今天在WPF程序中加了UnhandledException的处理,参考这篇文章:https://code.


原来WPF默认处理了这么多Exception,见识了


今天在WPF程序中加了UnhandledException的处理,参考这篇文章:https://code.msdn.microsoft.com/windowsdesktop/Handling-Unhandled-47492d0b/sourcecode?fileId=67148&pathId=726068521


结果发现CurrentDomain_FirstChanceException这个抛出了很多异常,把相应的异常过滤下:

void CurrentDomain_FirstChanceException(object sender, System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs e)
        {
            if (e.Exception is System.DllNotFoundException||
                e.Exception is System.IO.FileNotFoundException ||
                e.Exception is System.IO.IOException || 
                e.Exception is System.Management.Automation.Host.HostException ||
                e.Exception is System.Management.Automation.ItemNotFoundException||
                e.Exception is System.Management.Automation.PSInvalidCastException||
                e.Exception is System.Management.Automation.PipelineStoppedException||
                e.Exception is System.Management.Automation.CmdletInvocationException||
                e.Exception is System.Management.Automation.PSArgumentException)
            {
                return;
            }
            MessageBox.Show("1. CurrentDomain_FirstChanceException" + e.Exception);
            //ProcessError(e.Exception);   - This could be used here to log ALL errors, even those caught by a Try/Catch block 
        }


这个是调用Powershell脚本时出现的异常,都忽略掉。

为什么说”原来WPF默认处理了这么多Exception“?因为我没加这段代码前,整个程序是不报错的,加了这个代码之后才有了异常。

我为什么要加这段代码呢?因为我在长时间运行WPF程序之后,出现了“XXX has stopped working”,这说明有异常WPF没有处理掉,想加这个调查下到底哪个异常没有处理导致程序Crash,希望接下来可以看到root cause。


目录
相关文章
|
7月前
|
C# Windows
2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>
2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>
64 0
|
7月前
|
C# Windows
2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>
2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>
55 0
|
7月前
|
IDE C# 开发工具
2000条你应知的WPF小姿势 基础篇<40-44 启动关闭,Xaml,逻辑树>
2000条你应知的WPF小姿势 基础篇<40-44 启动关闭,Xaml,逻辑树>
33 0
|
7月前
|
C#
2000条你应知的WPF小姿势 基础篇<69-73 WPF Freeze机制和Template>
2000条你应知的WPF小姿势 基础篇<69-73 WPF Freeze机制和Template>
42 0
|
7月前
|
C#
2000条你应知的WPF小姿势 基础篇<57-62 依赖属性进阶>
2000条你应知的WPF小姿势 基础篇<57-62 依赖属性进阶>
22 0
|
C#
艾伟_转载:WPF/Silverlight陷阱:XAML自定义控件的嵌套内容无法通过名称访问
为了说明这个问题,假定我们需要实现一个具有特殊功能的按钮控件。编写Xaml文件如下: Button> 对 Code Behind类,唯一的改动是把向导生成的基类从UserControl改成Button: public partial class XamlButton : Button{    ...
1048 0
|
C#
WPF设计の自定义窗体
原文:WPF设计の自定义窗体   效果图如下:     实现思路:  1.继承Window类 2.为自定义的CustomWindow类设计窗体样式(使用Blend很方便!) 3.为窗体增加最大最小化和关闭按钮,并实现鼠标拖拽改变窗体大小(使用Derek Bartram的WindowResizer.
1015 0
|
监控 C#
[WPF 容易忽视的细节] —— Exception in WPF's Converter
原文:[WPF 容易忽视的细节] —— Exception in WPF's Converter 前言: 在WPF中,Converter是我们经常要用到的一个工具,因为XAML上绑定的数据不一定是我们需要的数据。
1162 0
|
数据库 C# 索引
通通WPF随笔(1)——基于lucene.NET让ComboBox拥有强大的下拉联想功能
原文:通通WPF随笔(1)——基于lucene.NET让ComboBox拥有强大的下拉联想功能       我一直很疑惑百度、谷哥搜索框的下拉联想功能是怎么实现的?是不断地查询数据库吗?其实到现在我也不知道,他们是怎么实现这么高效的。
1350 0