历览千载书,时时见遗烈。这篇文章主要讲述#yyds干货盘点# C#中类的异常处理相关的知识,希望能为你提供帮助。
前言
日常编码过程中,最重要的技能不是说你学会使用很多最新的编程技术或者做出一个高大上的系统。而是你在写代码过程中,对异常的处理,是否系统可以稳定,健壮。
对于异常的处理在C#中是通过try/cath机制来捕获的,接下来我们一起来看看。
异常是程序中的运行时错误,它违法了系统约束或应用程序约束,或出现了在正常操作时未预料的情形。
比如对于某些变量的非正常赋值或者在参与运算操作时出现错误等。
异常
关于异常,在C#中通过try语句和处理异常机制类保证异常的捕获,防止由于异常的未捕获导致整个程序出现异常提醒,甚至出现崩溃。
异常的要求
- try块包含为避免出现异常而被保护的代码
- catch子句部分含有一个或多个catch子句。(处理异常代码段也叫做异常处理子程序)
- finally块含有在所有情况下都要被执行的代码,无论有没有异常发生
class Programstatic void Main(string[] args)try//验证是否有异常的代码 Ahui hui = new Ahui(); InfoBase info = (InfoBase)hui; Console.WriteLine(hui.GetInfo()); Console.WriteLine(info.GetInfo()); catch (Exception ex)//捕获异常,进行异常的处理throw new Exception("异常向上一层抛出!"); Console.ReadKey();
【#yyds干货盘点# C#中类的异常处理】在处理业务代码时,必须在刚开始就将逻辑上的错误都考虑清楚进行验证处理,比如判空,非正常值,值类型错误等。
提示:在业务程序中尽量少用异常进行捕获,如果条件满足要第一时间对异常进行前期处理。< Catch()中的异常处理时间会比较长,而且会导致系统资源被浪费(异常实时被往上抛出)。>
在C#中有很多不同类型的异常可能被发生,BCL定义了许多类,每一个类代表一个指定的异常类型。当一个异常发生时,CLR首先创建该类型的异常对象,其次寻找适当的catch子句以处理它。(所有的异常类都派生自System.Exception类)
关于catch()有三种形式,可以处理不同级别的异常。
第一种 一般异常处理
trycatch//一般异常处理
能接受任何异常,但不能确认引起异常的类型。可对可能发生的异常进行普通处理和清理。
第二种 特定异常处理
trycatch(Exception)//特定异常处理
把一个异常类的名称作为参数,匹配该指定类或派生自它的异常类的异常。
第三种带对象的特定异常处理
trycatch(Exception ex)throw new Exception(ex.Message);
可提供关于异常的多种异常信息,匹配指定的异常或派生自它的异常类的异常。通过异常实例,可得到异常的详细信息。
trycatch (Exception ex)//特定异常处理
throw new Exception(ex.Message);
finally
//出现异常后的处理机制
这里需要特别说明下,关于finally中的代码,不管异常是否被捕获,它都会被执行。
在finally中适合存放释放资源或后续处理的代码。
基础知识日更已经29天,如果大家还想继续,可以给个关注,感谢您的支持。
寄语
人生短暂,我不想去追求自己看不见的,我只想抓住我能看得见的。
我是阿辉,感谢您的阅读,如果对你有帮助,麻烦点赞、转发谢谢。
很高兴能和您成为朋友。
推荐阅读
- 基于SSM源代码风格Java代码生成器 Maven版开箱即用 摸鱼神器
- # yyds干货盘点 # 拼刀刀店铺后台的参数anti-content逆向分析
- #yyds干货盘点#跨域问题之Spring的跨域的方案
- #yyds干货盘点#Spring 源码阅读Spring IoCAOP 原理小总结
- Flutter 专题66 图解基本约束 Box#yyds干货盘点#
- Redis哨兵集群主库故障数据恢复思路 #yyds干货盘点#
- Flutter 专题65 图解基本 TextField 文本输入框#yyds干货盘点#
- 容器管理工具docker和容器的规范与依赖
- 带你全面扫盲!