全部显示

错误捕获

   

使用 On Error GoTo 语句可以捕获错误,并将过程流转向过程中错误处理语句的位置。例如,下列语句将流程转向 ErrorHandler: 标签行:

On Error GoTo ErrorHandler

要确保在过程中每个错误处理标签名称是唯一的,而不会与过程中的其他任何元素发生冲突;并且在名称后面追加冒号。在过程中,请将 Exit SubExit 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 属性返回给定错误所对应的消息文本。

注意