C#中全局处理异常方式

using System;
using System.Configuration;
using System.Text;
using System.Windows.Forms;
using ZB.QueueSys.Common;namespace ZB.QueueSys
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);//处理UI线程异常  Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);//处理非UI线程异常  AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);//数据库类型DBHelper.Instance.DBType = int.Parse(ConfigurationManager.AppSettings["DBType"]);//数据库连接串DBHelper.Instance.ConnectionStr = ConfigurationManager.ConnectionStrings["DBStr"].ConnectionString;Application.Run(new MainForm());//Application.Run(new QueueForm());}private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e){string str = GetExceptionMsg(e.ExceptionObject as Exception, e.ToString());LogHelper.Instance.SaveText(str);Exception error = e.ExceptionObject as Exception;MessageBox.Show(error.Message, "系统异常提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);}private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e){string str = GetExceptionMsg(e.Exception, e.ToString());LogHelper.Instance.SaveText(str);MessageBox.Show(e.Exception.Message, "系统异常提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);}/// <summary>  /// 生成自定义异常消息  /// </summary>  /// <param name="ex">异常对象</param>  /// <param name="backStr">备用异常消息:当ex为null时有效</param>  /// <returns>异常字符串文本</returns>  private static string GetExceptionMsg(Exception ex, string backStr){StringBuilder sb = new StringBuilder();sb.AppendLine("****************************异常文本****************************");sb.AppendLine("【出现时间】:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));if (ex != null){sb.AppendLine("【异常类型】:" + ex.GetType().Name);sb.AppendLine("【异常信息】:" + ex.Message);sb.AppendLine("【堆栈调用】:" + ex.StackTrace);sb.AppendLine("【异常方法】:" + ex.TargetSite);}else{sb.AppendLine("【未处理异常】:" + backStr);}sb.AppendLine("***************************************************************");return sb.ToString();}}
}

  

转载于:https://www.cnblogs.com/YYkun/p/8952924.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5911. 模拟行走机器人 II

5911. 模拟行走机器人 II 给你一个在 XY 平面上的 width x height 的网格图&#xff0c;左下角 的格子为 (0, 0) &#xff0c;右上角 的格子为 (width - 1, height - 1) 。网格图中相邻格子为四个基本方向之一&#xff08;“North”&#xff0c;“East”&#xff0c;“South”…

自定义按钮动态变化_新闻价值的变化定义

自定义按钮动态变化I read Bari Weiss’ resignation letter from the New York Times with some perplexity. In particular, I found her claim that she “was hired with the goal of bringing in voices that would not otherwise appear in your pages” a bit strange: …

Linux记录-TCP状态以及(TIME_WAIT/CLOSE_WAIT)分析(转载)

1.TCP握手定理 2.TCP状态 l CLOSED&#xff1a;初始状态&#xff0c;表示TCP连接是“关闭着的”或“未打开的”。 l LISTEN &#xff1a;表示服务器端的某个SOCKET处于监听状态&#xff0c;可以接受客户端的连接。 l SYN_RCVD &#xff1a;表示服务器接收到了来自客户端请求…

677. 键值映射

677. 键值映射 实现一个 MapSum 类&#xff0c;支持两个方法&#xff0c;insert 和 sum&#xff1a; MapSum() 初始化 MapSum 对象 void insert(String key, int val) 插入 key-val 键值对&#xff0c;字符串表示键 key &#xff0c;整数表示值 val 。如果键 key 已经存在&am…

算法 从 数中选出_算法可以选出胜出的nba幻想选秀吗

算法 从 数中选出Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without …

jQuery表单校验

小小Demo&#xff1a; <script>$(function () {//给username绑定失去焦点事件$("#username").blur(function () {//得到username文本框的值var nameValue $(this).val();//每次清除数据$("table font:first").remove();//校验username是否合法if (n…

5912. 每一个查询的最大美丽值

5912. 每一个查询的最大美丽值 给你一个二维整数数组 items &#xff0c;其中 items[i] [pricei, beautyi] 分别表示每一个物品的 价格 和 美丽值 。 同时给你一个下标从 0 开始的整数数组 queries 。对于每个查询 queries[j] &#xff0c;你想求出价格小于等于 queries[j] …

django-rest-framework第一次使用使用常见问题

2019独角兽企业重金招聘Python工程师标准>>> 记录在第一次使用django-rest-framework框架使用时遇到的问题&#xff0c;为了便于理解在这里创建了Person和Grade这两个model from django.db import models class Person(models.Model):SHIRT_SIZES ((S, Small),(M, …

插入脚注把脚注标注删掉_地狱司机不应该只是英国电影历史数据中的脚注,这说明了为什么...

插入脚注把脚注标注删掉Cowritten by Andie Yam由安迪(Andie Yam)撰写 Hell Drivers”, 1957地狱司机 》电影海报 Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. Mor…

vue之axios 登陆验证及数据获取

登陆验证&#xff0c;获取token methods:{callApi () {var vm thisvm.msg vm.result //验证地址vm.loginUrl http://xxx///查询地址vm.apiUrl http://yyy/vm.loginModel {username: 你的用户名,password: 你的密码,// grant_type: password,}//先获取 tokenaxios.post(v…

5926. 买票需要的时间

5926. 买票需要的时间 有 n 个人前来排队买票&#xff0c;其中第 0 人站在队伍 最前方 &#xff0c;第 (n - 1) 人站在队伍 最后方 。 给你一个下标从 0 开始的整数数组 tickets &#xff0c;数组长度为 n &#xff0c;其中第 i 人想要购买的票数为 tickets[i] 。 每个人买票…

贝叶斯统计 传统统计_统计贝叶斯如何补充常客

贝叶斯统计 传统统计For many years, academics have been using so-called frequentist statistics to evaluate whether experimental manipulations have significant effects.多年以来&#xff0c;学者们一直在使用所谓的常客统计学来评估实验操作是否具有significant效果。…

吴恩达机器学习+林轩田机器学习+高等数学和线性代数等视频领取

机器学习一直是一个热门的领域。这次小编应大家需求&#xff0c;整理了许多相关学习视频和书籍。本次分享包含&#xff1a;台湾大学林轩田老师的【机器学习基石】和【机器学习技法】视频教学、吴恩达老师的机器学习分享、徐小湛的高等数学和线性代数视频&#xff0c;还有相关机…

saltstack二

配置管理 haproxy的安装部署 haproxy各版本安装包下载路径https://www.haproxy.org/download/1.6/src/&#xff0c;跳转地址为http&#xff0c;改为https即可 创建相关目录 # 创建配置目录 [rootlinux-node1 ~]# mkdir /srv/salt/prod/pkg/ [rootlinux-node1 ~]# mkdir /srv/sa…

319. 灯泡开关

319. 灯泡开关 初始时有 n 个灯泡处于关闭状态。第一轮&#xff0c;你将会打开所有灯泡。接下来的第二轮&#xff0c;你将会每两个灯泡关闭一个。 第三轮&#xff0c;你每三个灯泡就切换一个灯泡的开关&#xff08;即&#xff0c;打开变关闭&#xff0c;关闭变打开&#xff0…

如何生成随机不重复的11位数字

要求 不重复随机11位数字不占存储我们都知道11位数字(random)对应有最大值max和最小值min99999999999和10000000000.很简单的从最小值开始按顺序分发到最大值&#xff0c;就满足了不重复&#xff0c;不占存储&#xff0c;11位数字的特性。那么接下来就要考虑如何生成随机数字这…

因为你的电脑安装了即点即用_即你所爱

因为你的电脑安装了即点即用Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and …

关于前端缓存问题

Cookie、localStorage、sessionStorage的异同 之前没怎接触过前端缓存&#xff0c;请教了前端同事之后他给我粘了几行代码&#xff0c;用localStorage存取信息&#xff0c;后来老大review代码的时候发现&#xff0c;被批了一顿&#xff0c;现在好好看看这几个前端缓存的区别&am…

2074. 反转偶数长度组的节点

2074. 反转偶数长度组的节点 给你一个链表的头节点 head 。 链表中的节点 按顺序 划分成若干 非空 组&#xff0c;这些非空组的长度构成一个自然数序列&#xff08;1, 2, 3, 4, …&#xff09;。一个组的 长度 就是组中分配到的节点数目。换句话说&#xff1a; 节点 1 分配给…

阿里云云服务器硬盘分区及挂载

云服务器环境&#xff1a;CentOS 6.2 64位 客户端环境&#xff1a;Mac OSX 远程连接方式&#xff1a;运行 Terminal&#xff0c;输入命令 ssh usernameip 硬盘分区及挂载操作步骤&#xff1a; 查看未挂载的硬盘&#xff08;名称为/dev/xvdb&#xff09;fdisk -l Disk /dev/xvdb…