當基本作業失敗時,.NET 運行時間會自動擲回某些例外狀況。 下表列出這些例外狀況及其錯誤狀況。
| 例外狀況 | 說明 |
|---|---|
| ArithmeticException | 算術運算期間發生的例外狀況基類,例如 DivideByZeroException 和 OverflowException。 |
| ArrayTypeMismatchException | 當陣列無法儲存指定的項目時擲回,因為專案的實際類型與陣列的實際類型不相容。 |
| DivideByZeroException | 嘗試將整數值除以零時擲回。 |
| IndexOutOfRangeException | 當嘗試存取陣列的索引,而索引小於零或超出陣列範圍時,拋出例外。 |
| InvalidCastException | 在運行時,當從基底型別至介面或衍生型別的顯式轉換失敗時拋出。 |
| NullReferenceException | 嘗試參考值為 Null 的物件時擲回。 |
| OutOfMemoryException | 嘗試使用 new 運算子配置記憶體失敗時擲回。 此例外狀況表示 Common Language Runtime 可用的記憶體已用盡。 |
| OverflowException | 當 checked 環境中的算術運算發生溢位時擲回。 |
| StackOverflowException | 當執行堆疊耗盡時擲回,因為有太多暫止的方法呼叫;通常表示非常深或無限的遞歸。 |
| TypeInitializationException | 當靜態建構函式擲回例外狀況時,若沒有相容的 catch 子句可攔截該例外狀況,就會擲回。 |