object 始终为 Err 对象。

例如,在您将延迟错误处理与 On Error Resume Next 一起使用时,可在处理错误后使用 Clear 显式清除 Err 对象。 只要执行以下任意 语句 ,就会自动调用 Clear 方法:

  • 任何类型的 Resume 语句
  • Exit Sub Exit Function Exit Property
  • 任何 On Error 语句
  • [!注释] 当处理在访问其他对象的过程中生成的错误时, On Error Resume Next 构造可能比 On Error GoTo 更可取。 通过在每次与对象进行交互后检查 Err 可消除有关此代码已访问的对象的歧义。 您可以确定在 Err.Number 中放置错误代码的对象,并确定最初生成错误的对象( Err.Source 中指定的对象)。

    此示例使用 Err 对象的 Clear 方法将 Err 对象的数值属性重置为零,并将其字符串属性重置为零长度字符串。 如果从以下代码中省略 Clear ,则将在每个循环迭代中显示错误消息对话框(发生错误后),无论连续计算是否生成错误。 您可以单步执行代码以查看效果。

    Dim Result(10) As Integer    ' Declare array whose elements 
                ' will overflow easily.
    Dim indx
    On Error Resume Next    ' Defer error trapping.
    Do Until indx = 10
        ' Generate an occasional error or store result if no error.
        Result(indx) = Rnd * indx * 20000
        If Err.Number <> 0 Then
            MsgBox Err, , "Error Generated: ", Err.HelpFile, Err.HelpContext
            Err.Clear    ' Clear Err object properties.
        End If
        indx = indx + 1
    
  • 语句 (Visual Basic for Applications)
  • 对象 (Visual Basic for Applications)
  • 支持和反馈

    有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。