English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在这里,您将了解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 | 할당된 작업 시간 간격이 만료되었습니다. |
예외가 발생할 때, 애플리케이션 코드나 기본 처리기가 예외를 처리합니다. 다음 부분에서 예외 상황을 처리하는 방법을 배웁니다.