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 支持和反馈,获取有关如何接收支持和提供反馈的指南。