C#自定义异常(Exception)的实现

1、自定义异常类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ExceptionApp
{public class CustomException:Exception{//默认构造函数public CustomException():base() { }//接收错误信息的构造函数public CustomException(string message) : base(message) { }//同时接收错误信息和内部异常的构造函数public CustomException(string message,Exception inner) : base(message,inner) { }//添加额外的属性或方法以适应特定的需求public string AdditionalInfo { get; set; }//按需要传递信息public CustomException(string message,string additionalInfo) : base(message) { AdditionalInfo = additionalInfo;}}
}

2、默认自定义异常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ExceptionApp
{internal class Program{static void Main(string[] args){try{//默认自定义异常throw new CustomException();}catch (CustomException ex){Console.WriteLine($"Message:{ex.Message},AdditionalInfo:{ex.AdditionalInfo}");}finally { Console.ReadLine(); }}}
}

3、接收错误信息的自定义异常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ExceptionApp
{internal class Program{static void Main(string[] args){try{//接收错误信息的自定义异常throw new CustomException("自定义异常信息");}catch (CustomException ex){Console.WriteLine($"Message:{ex.Message},AdditionalInfo:{ex.AdditionalInfo}");}finally { Console.ReadLine(); }}}
}

4、同时接收错误信息和内部异常的自定义异常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ExceptionApp
{internal class Program{static void Main(string[] args){try{//默认自定义异常//同时接收错误信息和内部异常的自定义异常throw new CustomException("自定义异常", new DivideByZeroException());}catch (CustomException ex){Console.WriteLine($"Message:{ex.Message},AdditionalInfo:{ex.AdditionalInfo}");}finally { Console.ReadLine(); }}}
}

5、按需要传递信息自定义异常

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ExceptionApp
{internal class Program{static void Main(string[] args){try{//按需要传递信息自定义异常throw new CustomException("自定义异常信息", "505");}catch (CustomException ex){Console.WriteLine($"Message:{ex.Message},AdditionalInfo:{ex.AdditionalInfo}");}finally { Console.ReadLine(); }}}
}

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

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

相关文章

leetcode hot 100 刷题记录(medium)

题目3:无重复字符的最长子串(YES) 解题思路:其实最好想到的方法就是使用两层for,让每个字符都可以是子串的首字符,查看哪个子串的长度最长即可。 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子…

lightgbm

lightGBM 1.sklearn 使用代码 【机器学习基础】XGBoost、LightGBM与CatBoost算法对比与调参 首先,XGBoost、LightGBM和CatBoost都是目前经典的SOTA(state of the art)Boosting算法,都可以归类到梯度提升决策树算法系列。三个模…

探索LangChain的单元测试世界:主流框架全解析

探索LangChain的单元测试世界:主流框架全解析 引言 在软件开发过程中,单元测试是确保代码质量的关键环节。LangChain作为一个多语言编程工具链,支持多种编程语言,每种语言都有其对应的单元测试框架。本文将详细介绍LangChain支持…

5. JavaSE ——【适合小白的数组练习题】

📖开场白 亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能&a…

【区块链 + 智慧政务】澳门:智慧城市建设之证书电子化项目 | FISCO BCOS应用案例

2019 年 2 月 27 日,澳门政府设立的澳门科学技术发展基金与微众银行达成合作,通过区块链、人工智能、大数据、 云计算等创新技术,共同推进澳门特区的智慧城市建设与未来型城市发展,提升粤港澳大湾区的科创能力。在澳 门智慧城市建…

【数学建模】高温作业专用服装设计(2018A)隐式差分推导

为方便计算,对区域进行离散化处理,采用隐式差分格式进行离散计算。隐式差分格式如图: 每层材料内部 对第 j j j层材料: 其中, λ j \lambda_j λj​表示第 j j j层的热扩散率, c j c_j cj​表示第 j j j层的比热容…

Matplotlib库学习之pyplot.figure()函数

Matplotlib库学习之pyplot.figure()函数 一、简介 pyplot.figure() 是 Matplotlib 的 pyplot 模块中的一个函数,用于创建一个新的图形(figure)。在 Matplotlib 中,图形是绘图元素的容器,可以包含多个坐标轴&#xff…

linux需要熟悉的命令理解记忆

(1)光标插入 (1)一般模式下: i 插入到光标前方 记忆方法:在一般模式下, 光标选中字符, 我们按下 i, 就会插入光标的前方, insert, 表示插队 (2)一般模式下: a 插入到光标后方 记忆方法: 在一般模式下, 光标选中字符,a表示append, 添加或者附加的意思 (3) 如果要在行首或者行…

css实现每个小盒子占32%,超出就换行

代码 <div class"visitors"><visitor class"item" v-for"(user,index) in userArr" :key"user.id" :user"user" :index"index"></visitor></div><style lang"scss" scoped&…

java乱码问题

文章目录 1.eclipse所有修改编码的地方2.io读取文件乱码问题1.读写统一2.转换字符编码&#xff1a; 3.http请求返回乱码 1.eclipse所有修改编码的地方 2.io读取文件乱码问题 1.读写统一 如果文件是以UTF-8编码保存的&#xff0c;那么在读取文件时也应使用UTF-8编码。 2.转换…

Apple Vision Pro 和其商业未来

机器人、人工智能相关领域 news/events &#xff08;专栏目录&#xff09; 本文目录 一、Vision Pro 生态系统二、Apple Vision Pro 的营销用例 随着苹果公司备受期待的进军可穿戴计算领域&#xff0c;新款 Apple Vision Pro 承载着巨大的期望。 苹果公司推出的 Vision Pro 售…

百分点科技签约潍坊市数据产业发展战略合作

近日&#xff0c;潍坊市数据产业发展战略合作签约仪式举行&#xff0c;潍坊市人民政府副市长张震生&#xff0c;潍坊市财政局党组书记、局长王金祥&#xff0c;潍坊市大数据局党组书记陈强出席大会并致辞。百分点科技受邀进行战略合作签约&#xff0c;共同见证潍坊市数据要素市…

生成式人工智能(AI)的未来

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

深度学习模型快速开发平台推荐

前言 本文面向深度学习初学者或者工程师&#xff0c;推荐几个常用的深度学习模型快速开发平台。可以帮助初学者快速跑通模型&#xff0c;帮助工程师快速对模型进行部署和应用。 huggingface 简介 不多介绍&#xff0c;全球最大的模型托管平台&#xff0c;该平台最大的特点是…

全网超详细Redis主从部署(附出现bug原因)

主从部署 整体架构图 需要再建两个CentOs7,过程重复单机部署 http://t.csdnimg.cn/zkpBE http://t.csdnimg.cn/lUU5gLinux环境下配置redis 查看自己ip地址命令 ifconfig 192.168.187.137 进入redis所在目录 cd /opt/software/redis cd redis-stable 进入配置文件 vim redi…

C++——类和对象(初始化列表和运算符重载与静态与友元)

文章目录 初始化列表语法结构定义和使用案例初始化列表初始化常量成员&#xff1a; 注意事项 运算符重载加法运算符重载语法结构示例注意事项 减法运算符重载语法结构示例注意事项 等于运算符重载等于运算符 的重载语法示例注意事项 大于运算符重载大于运算符 > 的重载语法…

mac如何查看cpu和显卡温度

在Mac上查看CPU和显卡温度&#xff0c;你可以使用以下几种方法&#xff1a; 方法1&#xff1a;使用内建工具“活动监视器” 虽然“活动监视器”不能直接显示温度信息&#xff0c;但它可以显示CPU使用情况等信息。 打开“活动监视器”&#xff0c;可以通过以下路径找到&#…

JavaScript 常见数学用法

JavaScript 数学 JavaScript Math 对象允许您对数字执行数学任务。 实例&#xff1a; Math.PI; 返回 3.141592653589793常见案例 Math.round() Math.round(x) 的返回值是 x 四舍五入为最接近的整数&#xff1a; 实例&#xff1a; Math.round(6.8); // 返回 7 Math.r…

JavaWeb入门程序解析(Spring官方骨架、配置起步依赖、SpringBoot父工程、内嵌Tomcat)

3.3 入门程序解析 关于web开发的基础知识&#xff0c;我们可以告一段落了。下面呢&#xff0c;我们在基于今天的核心技术点SpringBoot快速入门案例进行分析。 3.3.1 Spring官方骨架 之前我们创建的SpringBoot入门案例&#xff0c;是基于Spring官方提供的骨架实现的。 Sprin…

python初学之路

一、python入门&#xff1a; https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzI2NDU3NjIzMQ&actiongetalbum&album_id3244362729562406922&scene173&subscene&sessionidsvr_ca72c6eb974&enterid1721214755&from_msgid2247487445&from_itemi…