C#中常見的異常和異常處理

      什麼是異常:異常是程序在執行是發生的錯誤。

   導致異常的原因:

    一、代碼錯誤,包括語法錯誤、邏輯錯誤
    二、資源不可用,這是由系統訪問了未經授權的資源而引起的錯誤。
    三、公共語言運行庫,這是有CLR內部引起的錯誤。

基異常類型(Exception)
Exception 左右異常的基類型
ApplicationException 發生非致命應用程序錯誤時引發的異常
SystemException 爲system命名空間中預定義異常定義基類
SystemException派生的異常類型
system.AccessViolationException 在實圖讀寫受保護內存時引發的異常
System.ArgumentException 在向方法提供一個參數無效時引發的異常
 System.IndexOutOfRangeException 訪問數組時因元素索引超出數組邊界而引發的異常
System.Collections.Generic.KeyNotFoundException 指定用於訪問集合中元素的鍵與集 閤中的任何鍵都不匹配時所引發的異常。
System.InvalidCastException 因無效類型轉換或顯示轉換引發的異常
System.InvalidOperationException 當方法調用對於對象的當前狀態無效時引發的異常
System.InvalidProgramExcption 當程序包含無效Microsoft中間語言或元數據時將引發的異常。這通常表示生成程序的編譯器中有Bug。
System.IO.IOException 發生I/O錯誤時引發的異常。
System.NotImplementedException 在無法實現請求的方法或操作時引發的異常。
 System.NullReferenceException 嘗試對空對象引用進行操作時引發的異常
 System.OutOfMemoryException 沒有足夠的內存繼續執行程序時引發的異常。
System.StackOverflowExcepion 掛起的方法調用過多而導致執行堆棧溢出時引發的異常。
System.ArgumentException派生的異常類型
System.ArgumentNullException 當將空引用傳遞給不接受它作爲有效參數的方法時引發的異常。
System.ArgumentOutOfRangeException 當參數值超出調用的方法所定義的允許取值範圍時引發的異常。
System.ArithmeticException派生的異常類型
 System.DivideByZeroException 試圖用零除整數或十進制數值時引發的異常
System.NotFiniteNumberException 當浮點值爲正無窮大、負無窮大或非數字時引發的異常。
System.OverflowException 在選中的上下文中進行的算術運算、類型轉換或轉換操作導致溢出時引發的異常。
System.IOException派生的異常類型
System.IO.DirectoryNotFoundException 當找不到文件或目錄的一部分時引發的異常
System.IO.DriveNotFoundException 當嘗試訪問的驅動器或共享不可用時引發的異常。
System.IO.EndofSreamException 讀操作試圖超出流的末尾時引發的異常。
 System.IO.FileLoadException 當找到託管程序集卻不能加載它時引發的異常。
 System.IO.FileNotFoundException 試圖訪問磁盤上不存在的文件失敗時引發的異常
System.IO.PathTooLongException 當路徑名或文件名超過系統定義的最大長度時引發的異常

try……catch……finally

try:包含拋出異常的代碼

catch:包含拋出異常是要執行的代碼

finally:包含始終會執行的代碼。如果產生異常則在try 塊之後執行,如果處理了異常,就在catch塊後執行

                                          處理異常方法參考

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章