共用方式為


編譯器所產生的例外狀況 (C# 程式設計手冊)

當基本運算失敗時,.NET Framework 的 Common Language Runtime (CLR) 會自動擲回某些例外狀況。 這些例外狀況及其錯誤條件會在下表中列出。

例外狀況

描述

ArithmeticException

在算術作業期間發生的例外狀況的基底類別,例如 DivideByZeroExceptionOverflowException

ArrayTypeMismatchException

陣列無法儲存指定元素時會擲回這個例外狀況,因為元素的實際型別與陣列的實際型別不相容。

DivideByZeroException

嘗試用零除整數值時會擲回此例外狀況。

IndexOutOfRangeException

嘗試以小於零或超出陣列界限的索引值建立陣列索引時,會擲回此例外狀況。

InvalidCastException

在執行階段將基底型別明確轉換成介面或衍生型別發生失敗時,會擲回此例外狀況。

NullReferenceException

在嘗試參考值為 null 的物件時,會擲回此例外狀況。

OutOfMemoryException

在嘗試使用 new 運算子配置記憶體但卻失敗時,會擲回此例外狀況。 這個例外狀況指出已用盡 Common Language Runtime 可用的記憶體。

OverflowException

在 checked 內容中的算術運算溢位時,會擲回此例外狀況。

StackOverflowException

因有太多待處理的方法呼叫而導致執行堆疊耗盡時,會擲回這個例外狀況,這通常表示發生深層或無窮遞迴。

TypeInitializationException

靜態建構函式擲回例外狀況,但沒有相容的 catch 子句攔截它時,會擲回此例外狀況。

請參閱

參考

例外狀況和例外處理 (C# 程式設計手冊)

例外狀況處理 (C# 程式設計手冊)

try-catch (C# 參考)

try-finally (C# 參考)

try-catch-finally (C# 參考)

概念

C# 程式設計手冊