A. VB中程序錯誤的捕獲以及處理方法
捕捉錯誤信息主要用On error語句,如下例子: 此例子使用 On Error GoTo 語句在一個過程中指定錯誤處理的代碼所在。本示例中,試圖刪除一已經打開的文件從而生成的錯誤碼為 55。這個錯誤將由示例中的錯誤處理程序碼來處理,處理完後,控制會回到發生錯誤的語句處。On Error GoTo 0 語句關閉錯誤陷阱。然後 On Error Resume Next 語句用來改變錯誤陷阱,以便發覺下一個語句產生的錯誤的范圍。請注意示例中使用 Err.Clear 在錯誤處理完後,清除 Err 對象的屬性Sub OnErrorStatementDemo() On Error GoTo ErrorHandler ' 打開錯誤處理程序。 Open "TESTFILE" For Output As #1 ' 打開輸出文件。 Kill "TESTFILE" ' 試圖刪除已打開的文件。 On Error Goto 0 ' 關閉錯誤陷阱。 On Error Resume Next ' 改變錯誤陷阱。 ObjectRef = GetObject("MyWord.Basic") ' 試圖啟動不存在 ' 的對象'檢查可能發生的 Automation 錯誤。 If Err.Number = 440 Or Err.Number = 432 Then ' 告訴用戶出了什麼事。然後清除 Err 對象。 Msg = "There was an error attempting to open the Automation object!" MsgBox Msg, , "Deferred Error Test" Err.Clear ' 清除 Err 對象欄位。 End If Exit Sub ' 退出程序,以避免進入錯誤處理程序。ErrorHandler: ' 錯誤處理程序。 Select Case Err.Number ' 檢查錯誤代號。 Case 55 ' 發生「文件已打開」的錯誤。 Close #1 ' 關閉已打開的文件。 Case Else ' 處理其他錯誤狀態 . . . End Select Resume ' 將控制返回到產生錯誤的語句。End Sub