14 錯誤和異常

錯誤和異常

14.2 異常類

圖14-1(373)性能

  • SystemException——該類用於一般由.NET運行庫拋出的異常,或者由幾乎全部的應用程序拋出的異常。SystemException異常的子類包括表示致命錯誤和非致命錯誤的異常。
  • ApplicationException——最初的設計是做爲自定義應用程序異常類的基本類,CLR拋出的一些異常也派生自這個類。從ApplicationException派生自定義異常沒有任何好處。若是須要自定義異常類,從Exception基類派生自定義異常類。
  • StackOverflowException——棧中的內存區域已滿,拋出這個異常。
  • EndOfStreamException——一般是讀到文件末尾而拋出,流表示數據源之間的數據流。
  • OverflowException——若是要在checked環境下把包含-40的int類型數據強制轉換爲uint數據,就會拋出這個異常。

14.3 捕獲異常

```
try
{
    
}
catch
{
    
}
finally
{
    
}
```
  • 能夠省略finally
  • 能夠由多個catch,過多會下降性能。
  • 能夠自定義過濾器,其中包含catch塊僅在過濾器匹配時,捕獲特定塊中的異常。
  • 能夠省略catch塊——此時,該語法不是標識異常,而是一種確保程序流在離開try塊後執行finally塊中的代碼的方式。若是在try塊中有幾個出口點,這頗有用。
相關文章
相關標籤/搜索