首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库C#C#基础

C#的异常类Exception

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2010-11-28 09:01:11

我们在设计程序时,为了保证程序的安全性,我们经常把可能发生错误的代码段放在try...catch块中,来捕捉可能发生的错误,并给予处理。当然这种错误不是程序的语法错误,也不是在编译时能发现的错误,只有程序运行时才可能出现的错误,如用户输入的被除数为零;数组越界;链接数据库时,指定的数据源不存在;查询数据库时,指定的表或列不存在等,都有可能引发程序发生异常。

在C#中提供了异常处理的方法,即如下语句块:

try{...}
        catch(){...}
        finally{...}

其中,try块中放入可能出错的语句,catch块中添加异常发生时的处理语句,finally块中的语句不管异常是否发生都要被执行,当然finally语句块也可以省略。

在catch语句的()中声明异常类的实例以在其块中进行使用。常用的异常类如下:

1、与参数有关的异常类

此类异常类均派生于System.Exception,用于处理给方法成员传递的参数时发生异常.

(1)ArgumentException类:该类用于处理参数无效的异常,除了继承来的属性名,此类还提供了string类型的属性ParamName表示引发异常的参数名称。

(2)FormatException类:该类用于处理参数格式错误的异常。

2、与成员访问有关的异常

(1) MemberAccessException类:该类用于处理访问类的成员失败时所引发的异常。

失败的原因可能的原因是没有足够的访问权限,也可能是要访问的成员根本不存在(类与类之间调用时常用)

(2) MemberAccessException类的直接派生类:

i、FileAccessException类:该类用于处理访问字段成员失败所引发的异常

ii、MethodAccessException类:该类用于处理访问方法成员失败所引发的异常

iii、MissingMemberException类:该类用于处理成员不存在时所引发的异常

3、与数组有关的异常

(1)IndexOutOfException类:该类用于处理下标越界所引发的异常

(2)ArrayTypeMismatchException类:该类用于处理在数组中存储元素的数据类型不匹配所引发的异常

(3)RankException类:该类用于处理维数错误所引发的异常

4、与IO有关的异常

(1)IOException类:该类用于处理进行文件输入输出操作时所引发的异常。

(2)IOException类的5个直接派生类:

i、DirectionNotFoundException类:该类用于处理没有找到指定的目录而引发的异常。

ii、FileNotFoundException类:该类用于处理没有找到文件而引发的异常。

iii、EndOfStreamException类:该类用于处理已经到达流的末尾而还要继续读数据而引发的异常。

iv、FileLoadException类:该类用于处理无法加载文件而引发的异常。

v、PathTooLongException类:该类用于处理由于文件名太长而引发的异常。

5、与算术有关的异常

(1)ArithmeticException类:该类用于处理与算术有关的异常。

(2)ArithmeticException类的派生类:

i、DivideByZeroException类:表示整数货十进制运算中试图除以零而引发的异常。

ii、NotFiniteNumberException类:表示浮点数运算中出现无穷打或者非负值时所引发的异常。

本文源自:翔宇亭IT乐园(http://www.biye5u.com),转载请保留此信息!

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.