应用程序调用数据库,如果网络断了,会先报数据库的错误,我想屏蔽数据库的错误,用应用程序进行异常处理该怎么办呢?
即是比如说A调用B,B中出错啦,但是B不想处理他,就把这个错误传给A,让A的错误处理程序来处理这个问题.怎么把B中产生的异常传递给A

解决方案 »

  1.   

    Err.Raise怎么用,我是这样用Err.Raise的,如果程序正常,也会报出异常提示:
    On Error GoTo line1
      Call Err.Raise(Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext)
    connEtl.Open "DSN=" & TextODBCSource.Text & ";uid=" & TextODBCUser.Text & ";pwd=" & TextODBCPassWord.Text & ";database=" & TextODBCDb.Text
      Exit Sub
    line1:
         Dim intRet As Integer
         intRet = MsgBox("数据库连接或ODBC错误,请检查你的数据源", vbInformation + vbOKOnly, "错误")
         If intRet = vbOK Then
           Resume Next   
         End If
      

  2.   

    On Error GoTo line1
      
    connEtl.Open "DSN=" & TextODBCSource.Text & ";uid=" & TextODBCUser.Text & ";pwd=" & TextODBCPassWord.Text & ";database=" & TextODBCDb.Text
      Exit Sub
    line1:
    Call Err.Raise(Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext)
         Dim intRet As Integer
         intRet = MsgBox("数据库连接或ODBC错误,请检查你的数据源", vbInformation + vbOKOnly, "错误")
         If intRet = vbOK Then
           Resume Next   
         End If
      

  3.   

    Call Err.Raise(Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext)这个语句就是抛出一个异常.
      

  4.   

    在connEtl.Open出错时,数据库就会提示错误
      

  5.   

    应用程序调用数据库,如果网络断了,会先报数据库的错误,我想屏蔽数据库的错误,用应用程序进行异常处理该怎么办呢?
    即是比如说A调用B,B中出错啦,但是B不想处理他,就把这个错误传给A,让A的错误处理程序来处理这个问题.怎么把B中产生的异常传递给A
    ==============================================
    直接用On Error GoTo 来做:Dim flag As Boolean '用来标记b是否产生错误Private Sub Form_load()
        flag = False
    End SubSub a()
        Call b()
        If flag Then
            MsgBox "b已经产生错误啦,赶紧处理!"
            '......处理错误中......
        End If
    End SubSub b()
        On Error GoTo err '防止b提示产生的错误
        connEtl.Open "DSN=" & TextODBCSource.Text & ";uid=" & TextODBCUser.Text & ";pwd=" & TextODBCPassWord.Text & ";database=" & TextODBCDb.Text
        Exit Sub
    err:
        flag = True '标记b已经产生错误
    End Sub
      

  6.   

    On Error GoTo err '此处的异常无法捕捉
        connEtl.Open "DSN=" & TextODBCSource.Text & ";uid=" & TextODBCUser.Text & ";pwd=" & TextODBCPassWord.Text & ";database=" & TextODBCDb.Text