C#中常见异常

来源:互联网 发布:人工智能三定律 编辑:程序博客网 时间:2024/06/06 17:09

什么是异常:异常是程序在执行是发生的错误。
导致异常的原因:
    一、代码错误,包括语法错误、逻辑错误
    二、资源不可用,这是由系统访问了未经授权的资源而引起的错误。
    三、公共语言运行库,这是有CLR内部引起的错误。
Exception类
Exception为我们提供了大量的捕获、处理异常的方法。Exception类中封装的异常处理有两种
1、由用户程序执行引发的异常,派生于ApplicationException类。
2、另一种是有公共语言运行库引发的异常,派生于SystemException类。

常见的异常类型:
SystemException:提供系统异常和应用程序异常之间的区别。
ArgumentException:当方法提供的任意一个参数无效时,引发此异常。
ArithmeticException:此异常表示由于算术运算导致的错误。
DataException:如果在使用ADO.NET组件时生成错误,引发此异常。
FormatException:当参数的格式不符合被调用方法的参数规范时,引发此异常。
IOException:当出现I/O错误是,引发此异常。
IndexOutOfRangeException:当试图使用数组边界外的索引来访问数组的元素时,引发此异常。
ArgumentNullException:在将空引用传递给无效参数的方法时,引发此异常。
OverflowException:当算数运算的结果大而无法由目标类型表示时,引发此异常。
DivideByZeroException:当试图用某个数除以零时,引发此异常。
ApplicationException:在应用程序执行过程中检测到有应用程序定义的异常。
TargetException:当试图调用无效目标时,引发此异常。
ArrayIndexOutOfBoundsException:数组小于或大于实际的数组大小。
NullPointerException:尝试访问Null对象成员。
ClassNotFoundException:不能加载所需的类。
InputMismatchException:欲得到的数据类型与实际输入数据类型不匹配。
IllegalArgumentException:方法接受到非法参数。

异常类常用属性:
Message:提供引发异常的详细信息。
Source:此属性表示导致异常发生的应用程序或对象的名称。(异常源)
StackTrace:此属性提供在堆栈上所调用方法的详细信息,并首先显示最近调用的方法。
InnerException:对内部异常的引用,如果此异常基于前一个异常,则内部异常指最初发生的异常。