編譯器所產生的例外狀況 (C# 程式設計手冊)
當基本運算失敗時,.NET Framework 的 Common Language Runtime (CLR) 會自動擲回某些例外狀況。 這些例外狀況及其錯誤條件會在下表中列出。
例外狀況 |
描述 |
---|---|
在算術作業期間發生的例外狀況的基底類別,例如 DivideByZeroException 和 OverflowException。 |
|
陣列無法儲存指定元素時會擲回這個例外狀況,因為元素的實際型別與陣列的實際型別不相容。 |
|
嘗試用零除整數值時會擲回此例外狀況。 |
|
嘗試以小於零或超出陣列界限的索引值建立陣列索引時,會擲回此例外狀況。 |
|
在執行階段將基底型別明確轉換成介面或衍生型別發生失敗時,會擲回此例外狀況。 |
|
在嘗試參考值為 null 的物件時,會擲回此例外狀況。 |
|
在嘗試使用 new 運算子配置記憶體但卻失敗時,會擲回此例外狀況。 這個例外狀況指出已用盡 Common Language Runtime 可用的記憶體。 |
|
在 checked 內容中的算術運算溢位時,會擲回此例外狀況。 |
|
因有太多待處理的方法呼叫而導致執行堆疊耗盡時,會擲回這個例外狀況,這通常表示發生深層或無窮遞迴。 |
|
靜態建構函式擲回例外狀況,但沒有相容的 catch 子句攔截它時,會擲回此例外狀況。 |