共用方式為


使用使用者篩選的處理常式

更新:2007 年 11 月

目前,Visual Basic 支援使用者篩選的例外狀況。使用者篩選的例外處理常式根據您對例外狀況定義的需求,攔截並處理例外狀況。這些處理常式會使用 Catch 陳述式配合 When 關鍵字。

這個技術在特定例外狀況物件對應至多個錯誤時很有用處。在這個情形中,物件基本上具有屬性,包含與錯誤相關聯的特定錯誤碼。您可以在運算式中使用錯誤碼屬性,只選取您想要在那個 Catch 子句中處理的特定錯誤。

下列 Visual Basic 範例說明 Catch/When 陳述式。

Try
      'Try statements.
   Catch When Err = VBErr_ClassLoadException
      'Catch statements.
End Try

使用者篩選的子句的運算式並不以任何方式來限制。如果例外狀況在使用者篩選運算式執行時發生,便會捨棄該例外狀況,並將篩選運算式視為已經評估成 false。在此情形下,Common Language Runtime 會繼續搜尋目前例外狀況的處理常式。

組合特定例外狀況和使用者篩選的子句

Catch 陳述式可以包含特定例外狀況和使用者篩選的子句兩者。執行階段首先會測試特定例外狀況。如果特定例外狀況成功,執行階段即執行使用者篩選條件。泛用篩選條件可以包含宣告於類別篩選條件中的變數的參考。注意,兩個篩選子句的順序不能相反。

下列 Visual Basic 範例示範 Catch 陳述式中的特定例外狀況 ClassLoadException,以及使用 When 關鍵字的使用者篩選子句。

Try
      'Try statements.
   Catch cle As ClassLoadException When cle.IsRecoverable()
      'Catch statements.
End Try

請參閱

工作

HOW TO:使用 Try/Catch 區塊攔截例外狀況

HOW TO:使用 Catch 區塊中的特定例外狀況

概念

處理例外狀況的最佳作法

其他資源

例外處理基礎觀念