在这里,您将了解C#中的内置异常类。
C#.NET为每个可能的错误包括内置的异常类。Exception类是所有异常类的基类。
以下是.NET中异常类的层次结构:
在上图中,Exception类是SystemException和ApplicationException类的基类。的SystemException类是所有可在程序的执行期间发生异常的基类。本ApplicationException类应该派生来创建自己的自定义异常类。可以为违反业务规则或其他与应用程序相关的错误创建自定义类。
下图显示了在NullReferenceException运行时访问null对象属性时,如何在Visual Studio调试模式下引发。
下表列出了.NET中重要的内置异常类。
异常类别 | 描述 |
---|---|
ArgumentException | 当传递给方法的非null参数无效时引发。 |
ArgumentNullException | 在将null参数传递给方法时引发。 |
ArgumentOutOfRangeException | 当参数值超出有效值范围时引发。 |
DivideByZeroException | 当整数值除以零时引发。 |
FileNotFoundException | 在指定位置不存在物理文件时引发。 |
FormatException | 当值的格式不适合通过转换方法(如Parse)从字符串转换时引发。 |
IndexOutOfRangeException | 当数组索引超出数组或集合的下限或上限时引发。 |
InvalidOperationException | 在对象的当前状态下方法调用无效时引发。 |
KeyNotFoundException | 在不存在用于访问集合中成员的指定键时引发。 |
NotSupportedException | 在不支持方法或操作时引发。 |
NullReferenceException | 程序访问空对象成员时引发。 |
OverflowException | 在算术,强制转换或转换操作导致溢出时引发。 |
OutOfMemoryException | 当程序没有足够的内存来执行代码时引发。 |
StackOverflowException | 当内存中的堆栈溢出时引发。 |
TimeoutException | 分配给操作的时间间隔已到期。 |
发生错误时,应用程序代码或默认处理程序将处理异常。在下一部分中了解如何处理异常情况。