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