C#處理過程中存在的不同異常類型.,MemberAccessException 訪問錯誤:類型成員不能被訪問 ArgumentException 參數錯誤:方法的參數無效 ArgumentNullException 參數為空白:給方法傳遞一個不可接受的空參數 ArithmeticException 學計算錯誤:由於數學運算導致的異常,覆蓋面廣。 ArrayTypeMismatchException 數群組類型不匹配 DivideByZeroException 被零除 FormatException 參數的格式不正確 IndexOutOfRangeException 索引超出範圍,小於0或比最後一個元素的索引還大 InvalidCastException 法強制轉換,在顯式轉換失敗時引發 MulticastNotSupportedException 不支援的組播:組合兩個非空委派失敗時引發 NotSupportedException 調用的方法在類中沒有實現 NullReferenceException 引用Null 參考對象時引發 OutOfMemoryException 無法為新語句分配記憶體時引發,記憶體不足 OverflowException 溢出 StackOverflowException 棧溢出 TypeInitializationException 錯誤的初始化類型:靜態建構函式有問題時引發 NotFiniteNumberException 無限大的值:數字不合法什麼是異常:異常是程式在執行是發生的錯誤。導致異常的原因: 一、代碼錯誤,包括語法錯誤、邏輯錯誤 二、資源不可用,這是由系統訪問了未經授權的資源而引起的錯誤。 三、公用語言運行庫,這是有CLR內部引起的錯誤。Exception類Exception為我們提供了大量的捕獲、處理異常的方法。Exception類中封裝的異常處理有兩種1、由使用者程式執行引發的異常,派生於ApplicationException類。2、另一種是有公用語言運行庫引發的異常,派生於SystemException類。常見的異常類型:SystemException:提供系統異常和應用程式異常之間的區別。ArgumentException:當方法提供的任意一個參數無效時,引發此異常。ArithmeticException:此異常表示由於算術運算導致的錯誤。DataException:如果在使用ADO.NET組件時建置錯誤,引發此異常。FormatException:當參數的格式不符合被呼叫者法的參數規範時,引發此異常。IOException:當出現I/O錯誤是,引發此異常。IndexOutOfRangeException:當試圖使用數組邊界外的索引來訪問數組的元素時,引發此異常。ArgumentNullException:在將Null 參考傳遞給無效參數的方法時,引發此異常。OverflowException:當算數運算的結果大而無法由目標類型表示時,引發此異常。DivideByZeroException:當試圖用某個數除以零時,引發此異常。ApplicationException:在應用程式執行過程中檢測到有應用程式定義的異常。TargetException:當試圖調用無效目標時,引發此異常。ArrayIndexOutOfBoundsException:數組小於或大於實際的數組大小。NullPointerException:嘗試訪問Null對象成員。ClassNotFoundException:不能載入所需的類。InputMismatchException:欲得到的資料類型與實際輸入資料類型不匹配。IllegalArgumentException:方法接受到非法參數。異常類常用屬性:Message:提供引發異常的詳細資料。Source:此屬性工作表示導致異常發生的應用程式或對象的名稱。(異常源)StackTrace:此屬性提供在堆棧上所調用方法的詳細資料,並首先顯示最近調用的方法。InnerException:對內部異常的引用,如果此異常基於前一個異常,則內部異常指最初發生的異常。C# 常見錯誤處理1 ArgumentException 在向方法提供的其中一個參數無效時引發的異常 2 AppDomainUnloadedException 在嘗試訪問已卸載的應用程式定義域時引發的異常 3 ArithmeticException 因算術運算、類型轉換或轉換操作中的錯誤而引發的異常 4 ArrayTypeMismatchException 當試圖在數組中儲存類型不正確的元素時引發的異常 5 BadImageFormatException 當 DLL 或可執行程式的檔案映像無效時引發的異常 6 CannotUnloadAppDomainException 卸載應用程式定義域的嘗試失敗時引發的異常 7 CodeDomSerializerException 當行號資訊可用於序列化錯誤時引發的異常 8 LicenseException 表示當組件不能被授予許可證時引發的異常 9 WarningException 指定按警告(而不是錯誤)處理的異常 10 ConfigurationException 配置設定中發生錯誤時引發的異常 11 InstallException 在安裝的提交、復原或卸載階段發生錯誤時引發的異常 12 ContextMarshalException 在嘗試將對象封送過上下文邊界失敗時引發的異常 13 DataException 表示使用 ADO.NET 組件發生錯誤時引發的異常 14 DBConcurrencyException 在更新操作過程中受影響的行數等於零時,由 DataAdapter 所引發的異常 15 SqlException 當 SQL Server 返回警告或錯誤時引發的異常。無法繼承此類 16 InvalidPrinterException 表示當試圖用無效的印表機設定來訪問印表機時所引發的異常 17 RegistrationException 檢測到註冊錯誤時引發的異常 18 FormatException 當參數格式不符合調用的方法的參數規範時引發的異常 19 IndexOutOfRangeException 試圖訪問索引超出數組界限的數組元素時引發的異常 20 InvalidCastException 因無效類型轉換或顯式轉換引發的異常 21 InvalidOperationException 當方法調用對於對象的目前狀態無效時引發的異常 22 InternalBufferOverflowException 內部緩衝區溢位時引發的異常 23 IOException 發生 I/O 錯誤時引發的異常 24 ManagementException 表示管理異常 25 NotImplementedException 在無法實現請求的方法或操作時引發的異常 26 NotSupportedException 當調用的方法不受支援,或試圖讀取、尋找或寫入不支援調用功能的流時引發的異常 27 NullReferenceException 嘗試取值 (Dereference)Null 物件引用時引發的異常。 28 OutOfMemoryException 沒有足夠的記憶體繼續執行程式時引發的異常 29 RankException 將維數錯誤的數組傳遞給方法時引發的異常 30 AmbiguousMatchException 當綁定到方法的操作導致一個以上的方法匹配綁定判據時引發的異常 31 ReflectionTypeLoadException 當模組中的任何類無法載入時由 Module.GetTypes 方法引發的異常 32 ServerException 當用戶端串連無法引發異常的非 .NET 架構應用程式時,為向用戶端傳達錯誤而引發的異常 33 PolicyException 當策略禁止代碼運行時引發的異常 34 SecurityException 檢測到安全性錯誤時引發的異常 35 XmlSyntaxException 在 XML 文法分析中出現語法錯誤時引發的異常 36 TimeoutException 當已達到指定的逾時時間時引發的異常 37 SynchronizationLockException 在從非同步的代碼塊中調用同步方法時引發的異常 38 ThreadAbortException 在對 Abort 方法進行調用時引發的異常 39 TypeInitializationException 作為由類初始值設定項引發的異常周圍的封裝引發的異常 40 TypeLoadException 類型載入失敗發生時引發的異常 41 TypeUnloadedException 試圖訪問已卸載的類時引發的異常 42 UnauthorizedAccessException 當作業系統因 I/O 錯誤或指定類型的安全錯誤而拒絕訪問時所引發的異常 43 SoapException 當通過 SOAP 調用 XML Web services 方法且出現異常時引發的異常 44 XmlSchemaException 返回關於架構異常的詳細資料 45 XmlException 返回有關最後一個異常的詳細資料 46 XsltException 由於在處理“可延伸樣式表語言 (XSL)”(XSL) 轉換時發生錯誤而引發的異常 47 XPathException 處理 XPath 運算式而發生錯誤時引發的異常