HOW TO:在 Visual Basic 中使用 Try…Catch 區塊測試程式碼

Catch 陳述式可以用於 Try 區塊內,以攔截和回應特定例外狀況或多重例外狀況。 如果執行 Try 區段內任何程式碼的期間發生例外狀況,Visual Basic 編譯器會檢查區塊內的每個 Catch 陳述式,直到找到條件符合該例外狀況的陳述式為止。 如果找不到,就會產生錯誤。

若要攔截特定例外狀況

  1. 使用 Try 區塊測試程式碼區塊,將程式碼區塊封入 Try 和 End Try 內,如下列範例所示,此範例會將檔案 MyLog 複製於相同目錄中,並重新命名為 BackupLog。

    Try
        My.Computer.FileSystem.CopyFile("MyLog", "BackupLog")
    Catch ex As System.IO.IOException
        MsgBox("An error occurred")
    End Try
    
  2. 在 Try 區塊內,針對特定類型的錯誤 (從最特殊的到最不特殊的) 提供 Catch 陳述式。 在這裡,Catch 陳述式會先攔截任何的 IOException 例外狀況,才會檢查一般的例外狀況。

    Catch ex As System.IO.FileNotFoundException
        MsgBox("No such file in this directory.")
    Catch ex As System.Exception
        MsgBox("An unspecified error occurred.")
    

請參閱

工作

HOW TO:在 Visual Basic 中使用 Try…Finally 區塊清除資源

HOW TO:在 Visual Basic 中篩選 Catch 區塊中的錯誤

HOW TO:檢查例外狀況的內部例外狀況 (Visual Basic)

例外處理疑難排解 (Visual Basic)

參考

Try...Catch...Finally 陳述式 (Visual Basic)

概念

選擇何時使用結構化和非結構化例外處理 (Visual Basic)

其他資源

例外處理工作 (Visual Basic)