vb使用On Error goto处理后,能回到循环里吗
vb程序循环处理一些网页,比如循环 i=1 to 100,在i=50时,发生错误,需要再次登陆,这时用On Error goto处理后,想让程序回到循环中,重新在发生错误的地方继续循环,即从i=50继续循环,而不是从头开循环。请问该如何编程。
[解决办法]
建议根据你已写的实现代码,考虑以下两个方案:
1,把i定义成过程内的static型变量
2,把i定义成模块级变量
对了,这两种方式下,好像你的那个循环都定义成do while ... loop型循环较好,看你的问题中的写法,似乎用的是for
DO LOOP语法参考:
Do While InStr (position, longstring, target)
position = InStr(position, longstring, target)_
+ 1
count = count + 1
Loop
[解决办法]
resume next
[解决办法]
sub someproc() on error goto herr dim i as long for i=1 to 100Again: ' 做事情 ... ' 也许会产生异常 ... next exit subhErr: ' 处理错误 ... ' ' 然后可以 resume 0 返回到出错位置; ' 或者这样 resume next 返回到出错位置的下一条语句; ' 也可以 resume Again 返回到具体位置.end sub
[解决办法]
建议 Resume Next
[解决办法]
Option ExplicitSub Main() Dim i As Long Dim lSum As Long On Error GoTo ErrHandler For i = 1 To 100 If i = 50 Then Err.Raise 5 '模拟错误' lSum = lSum + i NextExitEntry: Debug.Print lSum Exit SubErrHandler: Debug.Print Err.Description Resume NextEnd Sub