最新要闻
- 痛别!百岁抗日英雄张友仁逝世
- 环球热文:比亚迪老对手发威!哈弗枭龙系列上市定档:四驱体验两驱价格
- 5月上映!迪士尼《小美人鱼》世界首映礼:黑小美人鱼主演亮相
- 小米稳居中国电视市场第一 国外品牌份额合计不到5%_今日讯
- 付费会员该在截止日当天几点过期?法院判了
- 三星、谷歌联手优化:Android 14要彻底告别杀后台了
- 当前资讯!北斗西虹桥基地:积极打造具有全球影响力的产业集聚高地
- “五一”假期后机票价格大幅回落 端午出游开始发力 环球热资讯
- 【世界独家】入口软糯爽滑 冻颜密码燕窝椰汁3.1元清仓
- 天天简讯:五一成绩单出炉!河南成为最大赢家
- 《巨齿鲨2》新海报出炉:吴京、斯坦森直面深海巨鲨 超霸气
- 上海展会外国人插队领冰淇淋被拒 网友:宝马MINI脸红吗
- 全球最资讯丨电动“吉姆尼”背个“大手表”!五菱宝骏悦也5月25日上市
- 烤乳猪是哪个菜系的?烤乳猪的做法与配料是什么?
- 巴西的世界之最是什么?巴西说什么语言?
- 中国第四大城市是哪个城市?中国城市GDP排名
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
C#自定义异常就这么简单
C#是一种强类型语言,可以捕获和处理各种异常,从而帮助我们发现程序中出现的错误。在程序开发过程中,如果需要找到特定的错误情况并处理,这时就需要创建自定义异常。本文将介绍如何在C#中创建和使用自定义异常。
(相关资料图)
1、什么是异常?
异常是指在程序执行期间发生的错误或异常情况,例如除法中除以0、文件不存在、内存不足等。当发生异常时,程序会停止执行当前的操作,并抛出一个异常对象。异常对象包含有关异常情况的信息,例如异常类型、错误消息、堆栈跟踪等。
C# 异常处理基于四个关键字构建:try、catch、finally 和 throw。
1)try- try 块标识为其激活特定异常的代码块。它后面是一个或多个捕获块。
2)catch- 程序在程序中要处理问题的位置使用异常处理程序捕获异常。catch 关键字捕获发生的异常。
3)finally - finally 块用于执行一组给定的语句,无论是否引发异常。例如,如果打开一个文件,无论是否引发异常,都必须关闭该文件。
4)throw- 当出现问题时,程序会引发异常。这是使用 throw 关键字完成的。
2、在C#中自定义异常
接下来我们来看看如何创建C#异常类,在C#中,创建自定义异常很简单。只需要创建一个类,并从System.Exception类或其子类派生即可。例如,以下代码创建了一个名为CustomException的自定义异常类:
//创建一个没有错误消息的异常对象public class CustomException : Exception{publicCustomException(){}//创建一个包含错误消息的异常对象。 public CustomException(string message):base(message){throw new Exception(message);} //创建一个包含错误消息和内部异常对象的异常对象。 public CustomException(string message, Exception innerException) : base(message, innerException) { }}
这样一个自定义异常就创建好了。
使用自定义异常类
使用自定义异常与使用内置异常类相同。只需要在程序中抛出异常对象,并使用try-catch块捕获异常即可。代码如下:
try{//如果是k引发d二异常会报错系统异常//inti=0;intj=1;//int k=i/j;//某些操作下面会报自定义异常thrownewCustomException("发生了自定义异常");}catch (CustomException ex){ Console.WriteLine("自定义异常:"+ex.Message);}catch (Exception ex){ Console.WriteLine("系统异常:"+ex.Message);}//欢迎关注公众号:DOTNET开发跳槽,领取海量面试题。加微信号xbhpnet入群
上面代码如果是除0问题会报系统异常,而自定义异常在触发的时候报自定义异常。如下:
3、自定义异常的使用场景
以上实现了自定义异常类,那么自定义异常类通常在哪些场景下使用呢?
1)检测业务规则
当我们需要检查业务规则时,可以创建自定义异常类。例如,当用户尝试创建一个已经存在的账户时,我们可以抛出一个名为DuplicateAccountException的自定义异常。
2)易于调试
通过使用自定义异常类,我们可以更好地调试代码。当我们抛出一个自定义异常时,可以将更多有用的信息传递给调用者,例如错误消息、错误代码和堆栈跟踪等。这些信息有助于调用者快速定位问题并进行修复。
结语
自定义异常是处理特定错误情况的好方法。通过创建自定义异常类,我们可以更好地控制程序的行为,并提供有用的错误信息。希望本文对你带来收获,欢迎留言和吐槽。5.1长假结束了,希望大家过完节满血复活,重回人生巅峰!!
参考:微软官方文档
版权声明:本文来源于网友收集或网友供稿,仅供学习交流之用,如果有侵权,请转告小编或者留言,本公众号立即删除。
来源公众号:DotNet开发跳槽
关键词:
C#自定义异常就这么简单
网关神器traefik的,etcd和https配置例子
一行代码搞定 font-size 响应式
痛别!百岁抗日英雄张友仁逝世
环球热文:比亚迪老对手发威!哈弗枭龙系列上市定档:四驱体验两驱价格
5月上映!迪士尼《小美人鱼》世界首映礼:黑小美人鱼主演亮相
小米稳居中国电视市场第一 国外品牌份额合计不到5%_今日讯
付费会员该在截止日当天几点过期?法院判了
三星、谷歌联手优化:Android 14要彻底告别杀后台了
当前资讯!北斗西虹桥基地:积极打造具有全球影响力的产业集聚高地
快看:品类超全的免费 API 大全整理
五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
开源.NetCore通用工具库Xmtool使用连载 - 散列算法篇|世界视点
Centos7安装MySQL详细步骤(配置开机自启)|天天关注
“五一”假期后机票价格大幅回落 端午出游开始发力 环球热资讯
诺基亚账户怎么注册?诺基亚账户忘记了怎么找回?
【世界独家】入口软糯爽滑 冻颜密码燕窝椰汁3.1元清仓
天天简讯:五一成绩单出炉!河南成为最大赢家
《巨齿鲨2》新海报出炉:吴京、斯坦森直面深海巨鲨 超霸气
上海展会外国人插队领冰淇淋被拒 网友:宝马MINI脸红吗
全球最资讯丨电动“吉姆尼”背个“大手表”!五菱宝骏悦也5月25日上市
怎么将MP4格式转换成RM格式?rm格式用什么播放器打开?
3dmark11怎么看通过率?3dmark11注册码有哪些?
华为p30上市时间和价格是什么?华为p30怎么升级鸿蒙系统3.0?
联想Thinkpad x200什么时候上市的?联想Thinkpad x200电脑参数
烤乳猪是哪个菜系的?烤乳猪的做法与配料是什么?
巴西的世界之最是什么?巴西说什么语言?
中国第四大城市是哪个城市?中国城市GDP排名
和颜悦色的意思是什么?和颜悦色二年级造句
润邦股份:公司一直在积极跟进漂浮式海上风电领域的相关信息
热得快的功率一般是多大?热得快的工作原理是什么?
二季度19省市地方债计划发行规模超1.3万亿元 专家表示今年地方债早发快发特征明显
《漫长的季节》爆火:好观众才配看好剧! 全球速讯
老牌压缩软件7-Zip时隔近一年更新:仅1.5MB
环球热资讯!取代老头乐 新能源车下乡势不可挡 大家对其误解基本消除
疑似红色队服惹祸?公牛闯入橄榄球赛场追逐球员拖行训练员
新动态:好吃饱腹快冲:广州酒家组合粽子9.9元4个 多口味可选
新和成:饲料生产有严格配方比例要求
环球头条:Grafana 系列-统一展示-4-AWS Cloudwatch 数据源
环球最资讯丨Linux驱动开发笔记(二):ubuntu系统从源码编译安装gcc7.3.0编译器
世界热讯:method怎么读音_method怎么读
899元 小米高端路由器7000开售:全2.5G网口、自研三频拓展
首款天玑9200+旗舰稳了!iQOO Neo 8 Pro现身谷歌支持列表|全球快讯
薄如原子的人工神经元面世:可处理光电信号 天天观速讯
奔驰提车当天出故障 要拆变速箱!博主:建议车主坐车头直播
印度一双层轮船因超载发生倾覆事故 现场视频曝光
强弱开始模糊中超竞争更加激烈-天天热文
挑战“三大框架”的解决方案 全球速递
@Accessors 注解参数-全球报道
环球热资讯!炭火炉子烤肉好吃还是电炉子烤的好吃?
GPS侧目!北斗“女神”徐颖:我们追求毫米级甚至更小的精度_观天下
当前信息:金价又“狂飙”!全球第二大金矿商CEO透露:还押注了另一金属
环球实时:梦幻联动?马斯克公开赞同李想对于自动驾驶的理念
天津出台强降雨应急处置机制:规范处置程序 明确9项环节
内生提升能力 外源拓宽渠道 险企增资发债两手齐抓 即时
北向互换通将于15日启动 多家外资行积极筹备
【速看料】一季度西安居民人均可支配收入比上年同期实际增长5.4%
iPhone 14令人失望!五星好评率暴降:苹果十年口碑瞬间崩塌
安卓最强5G Soc!联发科天玑9200+明天发:跑分一骑绝尘
天天热消息:学系统集成项目管理工程师(中项)系列19a_成本管理(上)
ob什么意思女生_ob什么意思
新裂缝不断出现 整栋楼可怕!租户砸断承重墙 1.68亿损失业主自认倒霉?
精选!多省加入封杀行列!老头乐销冠雷丁汽车申请破产:市占率曾超30% 涉嫌诈骗
iPhone销售强劲!但iPad、Mac拖后腿了 全球报资讯
第一条高铁还没搞定!“股神”巴菲特吐槽美国火车:还停留在100多年前|环球头条
深入理解 python 虚拟机:描述器实现原理与源码分析
88.函数指针
环球信息:让老人暖胃更暖心
天天即时:两倍性能提升!玩家推测PS5 Pro详细配置
史上第一次 美国要强制规定航空公司取消或者延误时现金赔偿旅客
印度一只老虎杀死花豹 但却不吃肉:原因有二
建议买SD卡!《塞尔达传说:王国之泪》容量达16.3GB
环球消息!拒绝流氓应用 Win11安卓子系统重磅升级 安全自有一套
怀卡托大学学费_怀卡托大学-全球新资讯
茂名西站_关于茂名西站的简介
冬至是国家法定假期吗_冬至是国家法定假日-每日焦点
网络基础 登录对接CAS-跨域导致的一个意想不到的Bug
土豪该有的OLED电竞装备 AOC 2K240Hz显示器6949元(0.01ms响应)
情侣吵架从8楼将萨摩耶扔下 后续来了:男主高空抛物被抓
女子车位被女邻居霸停数月:一怒之下 直接焊死_全球今日讯
全球快资讯丨古力娜扎COS《王者荣耀》貂蝉 美丽动人超越原作
传音控股:数字人系统顺利通过全部48个测试项|天天播报
谈一谈如何使用etcd中的事务以及自己的理解
Ansible快速入门(下)
@RequestParam注解参数-世界热讯
【天天播资讯】《羊了个羊》被通报:涉欺骗误导强迫用户!曾被吐槽广告多
哈尔滨拆承重墙高楼现新裂缝 专家:或能加固到原状态 成本较高
谢谢你们,让我们的延吉之行更有意义|全球速读
87.特殊用途语言特性
20天学会 java
讯息:发挥工业互联网平台立体化赋能作用!山东“数字强省”再加速
马斯克曾发出人口消失警告 日本912万65岁以上老人仍在工作 热推荐
RTX 2080S实机运行《GTA6》画面曝光: 熟悉的味道
天天头条:线下大牌:CariaKnar内衣旗舰店男士6条装内裤39.9元
搭载麒麟710A!华为nova 8 SE官方二手机上架:999元
耗时5个月:中国空间站有了新发现 当前讯息
使用 HTTP/2 加速 Node.js 应用
世界要闻:MockMVC的使用
世界头条:辽宁:延续实施社会保险费惠企减负政策
天天热推荐:“最强法务部”出手维权:安卓Switch模拟器Skyline宣布停止开发