共用方式為


處理和擲回例外狀況

更新:2007 年 11 月

程式必須能夠一致處理執行期間發生的錯誤。Common Language Runtime 藉著提供模型以一致的方式向程式告知錯誤,對容錯軟體的設計甚有助益。所有 .NET Framework 作業都藉著擲回例外狀況 (Exception) 來表示失敗。

傳統上,語言的錯誤處理模型不是仰賴語言的獨特方式以偵測錯誤並為其找出處理常式,就是仰賴作業系統提供的錯誤處理機制。執行階段則以下列功能實作例外處理 (Exception Handling):

  • 可以在不需顧慮產生或處理例外狀況所使用之語言的情況下來處理例外狀況。

  • 不需要任何特定語言語法以處理例外狀況,但允許各個語言定義本身的語法。

  • 允許例外狀況跨處理序 (Process) 和甚至電腦界限來擲回。

例外狀況提供許多其他錯誤告知方法 (如傳回碼) 所不及的優點。凡有失敗就會告知。無效值就不會傳遍整個系統。您也不一定要檢查傳回碼。可以輕易地例外處理程式碼加入以增加程式的可靠性。最後,執行階段的例外處理比 Windows 架構的 C++ 錯誤處理還要快速。

因為執行的執行緒會例常周遊 Managed 和 Unmanaged 程式碼區塊,執行階段可以在 Managed 或者 Unmanaged 程式碼中擲回或攔截例外狀況。Unmanaged 程式碼可以包含 C++ 樣式的 SEH 例外狀況和 COM 架構的 HRESULTS 兩者。

在本節中

參考

相關章節