WPF 精修篇 全局为处理异常处理
当我们写代码的时候 对代码错误异常处理 有的时候会 没做处理
比如 我们执行如下代码 会引发程序崩溃
-
private void Button_Click(object sender, RoutedEventArgs e)
-
{
-
throw new Exception("字符串引发异常 日志输出");
-
}
这是我们不能接受的
当我们遇到这个问题 要一个一个的去寻找 担惊受怕 那有没有一个方法 能拦截所有的异常 不然程序挂掉那?
有的 WPF 中 dispatcherUnhandledException
我们在APP里 重写 Onstartup 方法
-
public partial class App : Application
-
{
-
protected override void OnStartup(StartupEventArgs e)
-
{
-
base.OnStartup(e);
-
DispatcherUnhandledException += App_DispatcherUnhandledException;
-
}
-
-
void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
-
{
-
MessageBox.Show(e.Exception.ToString());
-
e.Handled = true;
-
// throw new NotImplementedException();
-
}
-
}
在这里 我们可以拦截所有的未处理异常 写日志 或者重启都可以
WPF 精修篇 全局为处理异常处理的更多相关文章
- WPF 精修篇 附加属性
原文:WPF 精修篇 附加属性 微软把DLL都开源了 今天看了一下 很多WPF实现内容都在里面 https://referencesource.microsoft.com/ 说附加属性 附加属性 是 ...
- WPF 精修篇 管理资源字典
原文:WPF 精修篇 管理资源字典 样式太多 每个界面可能需要全局的样式 有没有肯能 WPF 中的样式 像Asp.net中 的CSS一样管理那 有的 有资源字典 BurshDictionary &l ...
- WPF 精修篇 数据触发器
原文:WPF 精修篇 数据触发器 数据触发器 可以使用Binding 来绑定控件 或者数据源 来触发相关动作 举栗子 <Window.Resources> <Style Target ...
- WPF 精修篇 属性触发器
原文:WPF 精修篇 属性触发器 属性触发器是通过 某个条件触发改变属性 通过无代码实现功能 <Style TargetType="{x:Type Label}"> ...
- WPF 精修篇 样式继承
原文:WPF 精修篇 样式继承 这个 是新知识 样式可以继承 <Style x:Key="TextBlockStyleBase" TargetType="{x:Ty ...
- WPF 精修篇 自定义控件
原文:WPF 精修篇 自定义控件 自定义控件 因为没有办法对界面可视化编辑 所以用来很少 现在实现的是 自定义控件的 自定义属性 和自定义方法 用VS 创建自定义控件后 会自动创建 Themes 文件 ...
- WPF 精修篇 用户控件
原文:WPF 精修篇 用户控件 增加用户控件 数据绑定还是用依赖属性 使用的事件 就委托注册一下 public delegate void ButtonClick(object b,EventArgs ...
- WPF 精修篇 DataGrid 筛选
原文:WPF 精修篇 DataGrid 筛选 DataGrid也可以分组 但是用的地方不多 就没写 筛选还是可以的 比如Datagrid数据量比较大 要做数据筛选 贴码 <DataGrid x: ...
- WPF 精修篇 DataGrid 数据源排序
原文:WPF 精修篇 DataGrid 数据源排序 效果 <DataGrid x:Name="datagrid" ItemsSource="{Binding Ele ...
随机推荐
- 下拉框移动 jquery
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...
- 比特币原理——交易与UTXO
UTXO UTXO (Unspent Transaction Output) 未花费交易输出 传统的支付系统都是基于账户(account based)的,即: 若A向B转账20元 判断A的账户余额大于 ...
- icon图标深入指南
图标是网络上常用的元素. 它们是通用的,可以立即识别,可以非常吸引人,引起注意,并且(如果使用正确)可以提供出色的用户体验. 在网络上实现图标时,我们有很多选择: Icon Spritesheet – ...
- 在linux环境下重启oracle数据库,解决密码过期的问题
(1) 以oracle身份登录数据库,命令:su – oracle (2) 进入Sqlplus控制台,命令:sqlplus /nolog (3) 以系统管理员登录,命令:connect /as sys ...
- TCP安全,SYN Flooding 和 nmap
目录 SYN flooding nmap nmap idle SYN flooding 简介:向target持续发送SYN=1的TCP报文,使target因内存满而拒绝服务. 命令:netwox 76 ...
- 47-准备 Overlay 网络实验环境
为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络.VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 ...
- 使用POI导出百万级数据到excel的解决方案
1.HSSFWorkbook 和SXSSFWorkbook区别 HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls,一张表最大支持65536行数据,256列 ...
- mysql 8.0 忘记root密码后重置
最近状态很不好,一直晕晕晕晕晕晕乎乎的,一个测试实例,下班前修改了一下root的密码,接着就下班走人,第二天来发现root密码忘了 刚好自动化安装脚本整理好了,本来想着算了直接重装实例得了,简单省事也 ...
- Navicat 软件的使用以及pymysql
Navicat 软件的使用以及pymysql 一.navicate的安装及使用 下载 直接百度搜索navicate ,如下图 连接数据库 新建数据库以及新建表 选中然后鼠标右键 建模 利用navica ...
- Python selenium登录163邮箱示例
思路:使用python自带的unittest单元测试框架测试163邮箱登录成功的case import unittestfrom selenium import webdriverimport tim ...