C#中常见异常类的公共属性
Data 获取一个提供用户定义的其他异常信息的键/值对的集合。
HelpLink 获取或设置指向此异常所关联帮助文件的链接。
InnerException 获取导致当前异常的 Exception 实例。
Message 获取描述当前异常的消息。
Source 获取或设置导致错误的应用程序或对象的名称。
StackTrace 获取当前异常发生时调用堆栈上的帧的字符串表示形式。
TargetSite 获取引发当前异常的方法。
C#中常见异常类
Exception:所有异常对象的基类。
SystemException:运行时产生的所有错误的基类。
IndexOutOfRangeException:当一个数组的下标超出范围时运行时引发。
NullReferenceException:当一个空对象被引用时运行时引发。
InvalidOperationException:当对方法的调用对对象的当前状态无效时,由某些方法引发。
ArgumentException:所有参数异常的基类。
ArgumentNullException:在参数为空(不允许)的情况下,由方法引发。
ArgumentOutOfRangeException:当参数不在一个给定范围之内时,由方法引发。
InteropException:目标在或发生在CLR外面环境中的异常的基类。
ComException:包含COM类的HRESULT信息的异常。
SEHException:封装Win32结构异常处理信息的异常。
SqlException:封装了SQL操作异常
System.ArithmeticException
算术运算操作所引发异常的基类
System.ArrayTypeMismatchException
当存储一个数组时,如果由于被存储的元素的实际类型与数组的实际类型不兼容而导致存储失败,就会引发此异常
System.DivideByZeroException
当除数为零时引发
System.IndexOutOfRangeException
在试图使用小于零或超出数组上界的下标索引数组时引发
System.InvalidCastException
当从基类或接口类型到派生类型的显式转换失败时,就会引将引发此异常(在运行时)
System.NullReferenceException
在需要使用引用对象的情况下,如果引用为null,将引发此异常
System.OverflowException
在 checked 上下文中的算术运算溢出时引发
System.StackOverflowException
当执行栈由于保存了太多挂起的方法调用而耗尽时,就会引发此异常;这通常表明存在非常深或无限的递归
System.TypeInitializationException
在静态构造函数引发了异常,但没有可以捕捉到它的 catch 子句时引发
OutOfMemoryException
当利用new关键字去初始化分配一块内存失败时
StackOverflowException
当执行程序有利用到堆栈资源时(通常是执行Recursion或太多的循环),将堆栈资源耗尽时
NullReferenceException
当要利用Reference对象时,却是NullReference
TypeInitializationException
若静态对象发生错误,但又缺乏catch区段去处理与对应时
ArrayTypeMismatchException
当存入数据与数组中数据类型不同时
IndexOutOfRangeException
当超过数组的限定范围时
MulticastNotSupportedException
当要合并两个委派对象失败时
ArithmeticException
一般在运算失败时,这包含了DivideByzeroException与OverflowException两种异常
DivideByzeroException
当使用除法运算时,分母为0所造成的错误时
OverflowException
当运算后超过数据类型的合法范围时
|