基本操作失败时,.NET 运行时会自动抛出某些异常。 下表中列出了这些异常及其错误条件。
| 例外 | DESCRIPTION |
|---|---|
| ArithmeticException | 用于在算术运算(例如 DivideByZeroException 和 OverflowException)期间发生的异常的基类。 |
| ArrayTypeMismatchException | 当数组无法存储给定元素时引发,因为该元素的实际类型与数组的实际类型不兼容。 |
| DivideByZeroException | 尝试将整数值除以零时引发。 |
| IndexOutOfRangeException | 索引小于零或超出数组边界时,尝试对数组编制索引时引发。 |
| InvalidCastException | 当从基类型到接口或派生类型的显式转换在运行时失败时引发。 |
| NullReferenceException | 尝试引用值为 null 的对象时引发。 |
| OutOfMemoryException | 尝试使用 新 运算符分配内存失败时引发。 此异常表示公共语言运行时可用的内存已用尽。 |
| OverflowException |
checked 上下文中的算术运算溢出时引发。 |
| StackOverflowException | 执行堆栈由于有过多挂起的方法调用而用尽时引发;通常表示非常深的递归或无限递归。 |
| TypeInitializationException | 当静态构造函数引发异常且不存在兼容 catch 子句来捕获异常时引发。 |