異常處理
在編碼期間,經常出現意外錯誤,這需要除錯和測試。但有時錯誤確實是預期的並且繞過它,有 Try..Catch..Throw..Finally..End Try
塊。
為了正確地管理錯誤,將程式碼放入 Try..Catch
塊中,其中 Catch
(如名稱所示)將捕獲此塊中出現的所有異常。
在異常的情況下,我們有可能知道錯誤,即返回它以通知使用者或在程式碼本身內部管理它。
Finally
部分是最終程式碼,無論結果是什麼,如果有異常,程式碼將在走出塊之前執行。
如果我們需要彈出時鐘,可以使用 Exit Try
語句。但是在這裡,Finally
部分中的程式碼將在結束之前執行。
語法很簡單;
Try
[ tryStatements ]
[ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
[ catchStatements ]
[ Exit Try ] ]
[ Catch ... ]
[ Finally
[ finallyStatements ] ]
End Try
只有 Try
和 End Try
是強制性的。其餘的可以忽略,但作為一個好的做法,確實包括 Finally
部分,即使它是空白的。
來到異常,可以捕獲不同型別的異常。它們是 .Net Framework 提供的現成例外,如下所示;
例外類 | 簡要描述;簡介 |
---|---|
System.IO.IOException | 處理 I / O 錯誤 |
System.IndexOutOfRangeException | 指的是超出範圍的陣列索引 |
System.ArrayTypeMismatchException | 當型別與陣列型別不匹配時 |
System.NullReferenceException | 處理引用空物件時生成的錯誤。 |
System.DivideByZeroException | 處理將被除數除以零所產生的錯誤。 |
System.InvalidCastException | 處理在型別轉換期間生成的錯誤。 |
為 System.OutOfMemoryException | 處理由於空閒記憶體不足而產生的錯誤。 |
System.StackOverflowException | 處理堆疊溢位產生的錯誤。 |
-————————– | -———————– |