使用 On Error GoTo 语句可以捕获错误,并将过程流转向过程中错误处理语句的位置。例如,下列语句将流程转向 ErrorHandler:
标签行:
On Error GoTo ErrorHandler
要确保在过程中每个错误处理标签名称是唯一的,而不会与过程中的其他任何元素发生冲突;并且在名称后面追加冒号。在过程中,请将 Exit Sub 或 Exit Function 语句放置在错误处理标签前面,这样如果没有错误发生,过程将不会运行错误检查代码。
Sub CausesAnError()
' Direct procedure flow.
On Error GoTo ErrorHandler
' Raise division by zero error.
Err.Raise 11
Exit Sub
ErrorHandler:
' Display error information.
MsgBox "Error number " & Err.Number & ": " & Err.Description
' Resume with statement following occurrence of error.
Resume Next
End Sub
Err 对象的 Raise 方法将生成指定的错误。Err 对象的 Number 属性返回最近一次运行时错误所对应的编号,Description 属性返回给定错误所对应的消息文本。
注意