在 if 内部出现错误时,它是否对 sub 上的任何错误做出反应?
On error goto inside an if, does it react to any error on the sub?
我有一个关于 On Error GoTo
的问题。我有这行代码
If CheckF = 0 Then
On Error GoTo Error_handler
.PivotItems(.PivotItems(pivotcount).name).Visible = False
End If
我的问题是,如果我在 if
之外有错误,它无论如何都会触发 On Error
如果是这种情况,我希望有办法避免它,因为对于每个不同的错误我都需要不同类型的消息。
我希望我自己解释清楚了。
仅当 if 子句被执行时。
使用 On Error GoTo 0
,您可以在 if 子句的末尾关闭错误处理程序。
在您的示例中,在 On Error
语句之后执行的所有内容都将转到错误处理程序标签,即使在 End If
语句之后也是如此。如果您想关闭此错误处理程序,您需要按如下方式重置它:
If CheckF = 0 Then
On Error GoTo Error_handler
.PivotItems(.PivotItems(pivotcount).name).Visible = False
On Error GoTo 0
End If
我有一个关于 On Error GoTo
的问题。我有这行代码
If CheckF = 0 Then
On Error GoTo Error_handler
.PivotItems(.PivotItems(pivotcount).name).Visible = False
End If
我的问题是,如果我在 if
之外有错误,它无论如何都会触发 On Error
如果是这种情况,我希望有办法避免它,因为对于每个不同的错误我都需要不同类型的消息。
我希望我自己解释清楚了。
仅当 if 子句被执行时。
使用 On Error GoTo 0
,您可以在 if 子句的末尾关闭错误处理程序。
在您的示例中,在 On Error
语句之后执行的所有内容都将转到错误处理程序标签,即使在 End If
语句之后也是如此。如果您想关闭此错误处理程序,您需要按如下方式重置它:
If CheckF = 0 Then
On Error GoTo Error_handler
.PivotItems(.PivotItems(pivotcount).name).Visible = False
On Error GoTo 0
End If