On Local Error Resume Next的local是什么用法?
vb吧
全部回复
仅看楼主
level 7
tzchf 楼主
来自msdn示例mscomm
2025年02月12日 07点02分 1
level 2
在VB6中,`On Local Error Resume Next` 语句用于错误处理。其中的 `Local` 关键字表示错误处理的范围仅限于当前过程或函数。
具体来说:
- **Local**:错误处理仅在声明它的过程或函数内有效。如果在该过程或函数中发生错误,程序会跳过错误并继续执行下一行代码。一旦退出该过程或函数,错误处理将不再有效。
- **没有 Local**:如果省略 `Local`,错误处理的范围将扩展到整个模块,影响模块中的所有过程或函数。
示例:
```vb
Sub ExampleProcedure()
On Local Error Resume Next
' 这里的错误处理仅在此过程中有效
Dim x As Integer
x = 1 / 0 ' 除零错误,但会跳过并继续执行
MsgBox "继续执行"
End Sub
```
在这个例子中,错误处理仅在 `ExampleProcedure` 过程中有效。
2025年02月12日 21点02分 2
@tzchf 我刚测试加不加Local没有发现什么区别,只有Public才会影响异常在跨模块传递的问题。
2025年02月14日 01点02分
没有local怎么影响所有过程或函数的?是不是说有local不会影响“这个过程”中调用的其它过程或函数?你这一段来自哪里,我没找到相关资料。
2025年02月13日 00点02分
deepseek
2025年02月13日 23点02分
level 7
tzchf 楼主
有没有local没看出来啥区别
2025年02月14日 01点02分 3
level 7
tzchf 楼主
2025年02月14日 01点02分 4
怎么会没有区别,带local不会对外部方法的错误进行处理
2025年02月20日 06点02分
2025年02月20日 07点02分
level 1
On Local Error Resume Next
仅在该语句的过程中生效。
On Error Resume Next
在后续的语句都生效,不管是过程中,还是过程返回后再执行的其它语句,都会生效,直到 On Error Goto 0结束。
2025年04月18日 13点04分 7
1