请教:
     在vb的某个sub或function模块中,如果出现了错误(例如:有on error goto类似语句)时,怎样可以
    1.保留错误继续执行后面代码,并且再次出现错误时仍可以进行捕捉?
  或者
    2.清除on error捕捉的错误,继续运行下面的代码?各位,俺是初学者,请高手们劳个烦指点指点,如网上有资料的话,提供个网址,小弟自己去查也行!
谢谢!

解决方案 »

  1.   

    同上自己看:Private Sub Form_Load()
        On Error Resume Next
        Dim a As Integer, b As Byte
        a = 1
        a = 32767 + 1 '这句会产生溢出错误,但是由于上面有了On Error Resume Next语句,所以错误被忽略,继续执行下面的语句
        MsgBox "a=" & a
        On Error GoTo sumerr
        b = 1
        b = 255 + 1 '这句也会产生溢出错误,由于上面有On Error GoTo sumerr语句,所以下面的Debug.Print语句不会被执行,直接跳转到sumerr:
        MsgBox "b=" & b
        Exit Sub
    sumerr:
        MsgBox "错误描述:" & Err.Description
    End Sub
      

  2.   

    Private Sub Form_Load()
        On Error Resume Next
        Dim a As Integer, b As Byte
        a = 1
        a = 32767 + 1 '这句会产生溢出错误,但是由于上面有了On Error Resume Next语句,所以错误被忽略,继续执行下面的语句
        MsgBox "a=" & a
        On Error GoTo sumerr
        b = 1
        b = 255 + 1 '这句也会产生溢出错误,由于上面有On Error GoTo sumerr语句,所以下面的MsgBox语句不会被执行,直接跳转到sumerr:
        MsgBox "b=" & b
        Exit Sub
    sumerr:
        MsgBox "错误描述:" & Err.Description
    End Sub
      

  3.   

    对阿!如楼上的例子!假如上例中
        sumerr:
        MsgBox "错误描述:" & Err.Description
       中加上这样一句,那还能正常运行吗?Private Sub Form_Load()
        Line:
        On Error Resume Next
        Dim a As Integer, b As Byte
        a = 1
        a = 32767 + 1 '这句会产生溢出错误,但是由于上面有了On Error Resume Next语句,所以错误被忽略,继续执行下面的语句
        MsgBox "a=" & a
        On Error GoTo sumerr
        b = 1
        b = 255 + 1 '这句也会产生溢出错误,由于上面有On Error GoTo sumerr语句,所以下面的MsgBox语句不会被执行,直接跳转到sumerr:
        MsgBox "b=" & b
        Exit Sub
    sumerr:
        MsgBox "错误描述:" & Err.Description
        goto Line
    End Sub我在end sub之前继续一个循环,然后循环中又要捕捉一次错误(此时因第一次溢出的错误并未消除),然后程序就会出错。能否有方法在循环中不断捕捉错误(不执行end sub或exit sub之类语句)?
    像上例就会出现连续两次的溢出错误!第一次可以on error resume,但是第二次就会报错,怎样解决这个问题呢?
      

  4.   

    在 http://www.mndsoft.com 的 源码搜索 中 输入 “错误”