广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#WINFORM自定义异常处理方法
  • 195
分享到

C#WINFORM自定义异常处理方法

2024-04-02 19:04:59 195人浏览 薄情痞子
摘要

一个简单的统一异常处理方法。系统底层出现异常,写入记录文件,系统顶层捕获底层异常,显示提示信息。  /// <summary> /// 自定义异常类

一个简单的统一异常处理方法。系统底层出现异常,写入记录文件,系统顶层捕获底层异常,显示提示信息。 


 /// <summary>
    /// 自定义异常类
    /// </summary>
    public static class ExceptionExtension
 
    {
        /// <summary>
        /// 用户自定义错误消息
        /// </summary>
        public static string ErrORMessage { get; set; }
 
        /// <summary>
        /// 写入异常日志
        /// </summary>
        /// <param name="ex"></param>
        /// <param name="Message">用户自定义错误消息</param>
        public static void WriterExceptionLog(Exception ex, string Message = "")
        {
            string filePath = Environment.CurrentDirectory.Replace(@"\bin\Debug", "") + @"\ErrorLog";
            if (!System.IO.Directory.Exists(filePath))
            {
                System.IO.Directory.CreateDirectory(filePath);
            }
            string fileName = filePath + @"\ErrorLog.txt";
 
            StringBuilder errorInfo = new StringBuilder();
            errorInfo.Append($"*******异常发生时间:{DateTime.Now}*******\n");
            errorInfo.AppendFormat(" 异常类型: {0} \n", ex.HResult);
            //msg.AppendFormat(" 导致当前异常的 Exception 实例: {0} \n", ex.InnerException);
            errorInfo.AppendFormat(" 导致异常的应用程序或对象的名称: {0} \n", ex.Source);
            errorInfo.AppendFormat(" 引发异常的方法: {0} \n", ex.TargetSite);
            errorInfo.AppendFormat(" 异常堆栈信息: {0} \n", ex.StackTrace);
            errorInfo.AppendFormat(" 异常消息: {0} \n", ex.Message);
            errorInfo.AppendFormat(" 系统信息: {0} \n", Message);
            ErrorMessage += Message;
            try
            {
                if (File.Exists(fileName))
                {
                    using (StreamWriter tw = File.AppendText(fileName))
                    {
                        tw.WriteLine(errorInfo.ToString());
                    }
                }
                else
                {
                    TextWriter tw = new StreamWriter(fileName);
                    tw.WriteLine(errorInfo.ToString());
                    tw.Flush();//将缓冲区的数据强制输出,清空缓冲区
                    tw.Close();//关闭数据流
                    tw = null;
                }
            }
            catch (Exception) { Console.ReadKey(); }
        }
    }
}

比较简单,该类仅定义了一个属性和一个方法。具体使用如下:系统底层(例如数据访问层或业务逻辑层)发现异常时, 记录异常信息,将异常上抛。例如:


//后台处理
try
{
    //有可能发生异常操作
}
catch (Exception ex)
{
    string strSlq = "";
    ExceptionExtension.WriterExceptionLog(ex, "在查询记录时发生异常。sql语句为:" + strSlq);
    throw;//向上抛出异常
}
finally
{
    //清理
}

用户交互层,捕获底层异常,显示提示信息。例如:


//用户界面
 try
 {
     //调用底层有可能发生异常操作
 }
 catch (Exception)
 {
     //MessageBox.Show(ExceptionExtension.ErrorMessage, "系统异常错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
 }
 finally
 {
     //清理
 }

到此这篇关于C# winform自定义异常处理方法的文章就介绍到这了,更多相关C# WINFORM异常处理方法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#WINFORM自定义异常处理方法

本文链接: https://www.lsjlt.com/news/161310.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#WINFORM自定义异常处理方法
    一个简单的统一异常处理方法。系统底层出现异常,写入记录文件,系统顶层捕获底层异常,显示提示信息。  /// <summary> /// 自定义异常类 ...
    99+
    2022-11-12
  • SpringMVC 异常处理机制与自定义异常处理方式
    目录SpringMVC默认处理的几种异常@ResponseStatus异常处理的顺序自定义异常类(SpringMVC的异常处理)①:自定义异常类②:自定义异常处理器③:配置我们的异常...
    99+
    2022-11-12
  • SpringBoot详解实现自定义异常处理页面方法
    目录1.相关介绍2.代码实现3.运行测试1.相关介绍 当发生异常时, 跳转到我们自定义的异常处理页面. SpringBoot中只需在静态资源目录下创建一个error文件夹, 并把异常...
    99+
    2022-11-13
  • SpringBoot Security的自定义异常处理
    目录SpringBoot Security自定义异常access_denied 方面异常Invalid access token 方面异常Bad credentials 方面异常(登...
    99+
    2022-11-12
  • Spring Cloud Gateway自定义异常处理Exception Handler的方法小结
    版本: Spring Cloud 2020.0.3 常见的方法有 实现自己的 DefaultErrorWebExceptionHandler 或 仅实现ErrorAttributes...
    99+
    2022-11-12
  • 浅谈几种Java自定义异常处理方式
    目录自定义异常类错误编码处理断言处理应用日志处理异常消息模板和格式化处理总结在Java中,异常是一种常见的处理机制。当程序运行出现错误时,Java会默认抛出一个异常,并通过栈回溯信息...
    99+
    2023-05-19
    Java自定义异常 Java 异常
  • SpringBoot Security如何自定义异常处理
    这篇文章主要为大家展示了“SpringBoot Security如何自定义异常处理”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SpringBoot Security如何自定...
    99+
    2023-06-22
  • SpringMVC异常处理机制与自定义异常处理方式的示例分析
    这篇文章主要介绍SpringMVC异常处理机制与自定义异常处理方式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!提到异常处理,就不得不提HandlerExceptionResolvers,我们的Dispat...
    99+
    2023-06-25
  • 自定义注解和springAOP捕获Service层异常,并处理自定义异常操作
    一 自定义异常 public class NoParamsException extends Exception { //用详细信息指定一个异常 public ...
    99+
    2022-11-12
  • 解决spring @ControllerAdvice处理异常无法正确匹配自定义异常
    首先说结论,使用@ControllerAdvice配合@ExceptionHandler处理全局controller的异常时,如果想要正确匹配自己的自定义异常,需要在controll...
    99+
    2022-11-12
  • 详解C#WinForm如何优雅的处理异常
    目录场景需求开发环境开发工具实现代码实现效果代码解析场景 在运行、调试代码的时候,往往会遇到一些异常情况,很多时候我们代码写得足够健壮,所以出现的概率比较低,但是如果一旦出现,我们又...
    99+
    2022-11-13
  • springboot实现全局异常处理及自定义异常类
    目录全局异常处理及自定义异常类全局异常处理定义一个业务异常的枚举全局异常处理配置springboot Restful使用springboot 返回 ModelAndView全局异常处...
    99+
    2022-11-13
  • PHP中怎么自定义异常处理器
    本篇文章为大家展示了PHP中怎么自定义异常处理器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、异常类的层级关系:class NotFoundException extends...
    99+
    2023-06-17
  • Spring Boot 中自定义异常怎么处理
    这篇文章将为大家详细讲解有关Spring Boot 中自定义异常怎么处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 Spring Boot 项目中 ,异常统一处理,可以使用 Spring 中 @Co...
    99+
    2023-06-02
  • Java自定义异常的方法是什么
    本文小编为大家详细介绍“Java自定义异常的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java自定义异常的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、异常分为哪几种异常分为两种,分...
    99+
    2023-07-06
  • 自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析
    这篇文章主要为大家展示了“自定义注解和springAOP捕获Service层异常并处理自定义异常的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“自定义注解和springAOP捕获Serv...
    99+
    2023-06-15
  • winform自定义控件开发的方法是什么
    在WinForms中开发自定义控件的方法如下:1. 创建一个新的类并继承自现有的控件类(如Control、UserControl)或...
    99+
    2023-09-09
    winform
  • springboot如何实现全局异常处理及自定义异常类
    这篇文章主要介绍springboot如何实现全局异常处理及自定义异常类,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!全局异常处理及自定义异常类全局异常处理定义一个处理类,使用@ControllerAdvice注解。@...
    99+
    2023-06-29
  • C#怎么创建用户自定义异常
    本篇内容主要讲解“C#怎么创建用户自定义异常”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么创建用户自定义异常”吧!创建用户自定义异常您也可以定义自己的异常。用户自定义的异常类是派生自&n...
    99+
    2023-06-17
  • RestTemplate自定义请求失败异常如何处理
    今天小编给大家分享一下RestTemplate自定义请求失败异常如何处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、异...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作