重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
捕捉错误信息主要用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
成都创新互联公司是一家网站建设、做网站,提供网页设计,网站设计,网站制作,建网站,定制网站建设,网站开发公司,2013年开创至今是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。
截获到你再throw抛出异常,必然是报错程序退出。
在Catch里面要么不抛出异常,要么根据情况处理
...
'将Try...Catch放在Main中
Try
Begin()
Catch e As Exception
ProcessException(e)
End Try
'在Begin中开始你的程序,就像从Main开始执行程序一个道理
Sub Begin()
'
End Sub
'将ProcessException改成你的要处理所有异常的过程名
Sub ProcessException(e As Exception)
'
End Sub
...