編譯器所產生的例外狀況

當基本作業失敗時,.NET 運行時間會自動擲回某些例外狀況。 下表列出這些例外狀況及其錯誤狀況。

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

另請參閱