求一个通用的俘获VB6错误的语句。即在任何一个过程或函数中都可以使用的俘获错误的通用语句。

解决方案 »

  1.   

    我想要的是类似于Err.Description的通用用法
      

  2.   

    我以前是这样做的
    '这个是程序中具体方法
    Private Sub mnuData_Export_Click()
        On Error GoTo ER
        
        '设置“CancelError”为 True
        cdgFile.CancelError = True
        ' 设置过滤器
        cdgFile.Filter = "Access File(*.mdb)|*.mdb"
        cdgFile.FileName = "dbfile"
        ' 显示对话框
        cdgFile.ShowSave
        ' 拷贝文件
        CopyFile GetCurrentPath & "database\LJYJTDC.mdb", cdgFile.FileName, 0
        MsgBox "数据库已经导入到文件" & cdgFile.FileName & "中!", vbInformation, cstINFO
        Exit Sub
    ER:
        '用户按了“取消”按钮不处理
        If Err.Number <> 32755 Then
            MsgBox "数据库导出失败!", vbExclamation, cstERROR
            Call ShowError("frmMain", "mnuData_Export_Click")
        End If
    End Sub
    '这个是一个通用的方法
    '********************************************************
    '名称:ShowError
    '参数:MdlName模块名称
    '      SubName过程名称
    '返回:当前程序的路径
    '功能:用于错误的集中处理
    '说明:
    '日期:1999-11-16
    '程序员:
    '********************************************************
    Public Sub ShowError(ByRef MdlName As String, ByRef SubName As String)
        Dim intFileNumber As Integer
        '恢复正常状态的鼠标
        Screen.MousePointer = 0
        '可处理的错误
        'If Err.Number = 482 Or Err.Number = 484 Then
        '    MsgBox "打印机错误,请检查是否安装了打印机!", 64, "错误"
        '    Exit Sub
        'End If
        '写入错误日志文件,已备查阅
        intFileNumber = FreeFile()
        Open App.Path & "\Error.log" For Append Access Write As intFileNumber
            Print #intFileNumber, Format(Now, "yyyy年mm月dd日 hh时mm分") & Chr(124) & _
                "模块名称:  " & MdlName & Chr(124) & _
                "过程名称:  " & SubName & Chr(124) & _
                "错误号码:  " & Err.Number & Chr(124) & _
                "错误描述:  " & Err.Description
        Close intFileNumber
        '弹出对话框告诉用户发生错误
        MsgBox "发生了如下的错误:" & Chr(10) & Chr(10) _
             & "模块名称:  " & MdlName & Chr(10) _
             & "过程名称:  " & SubName & Chr(10) _
             & "错误号码:  " & Err.Number & Chr(10) _
             & "错误描述:  " & Err.Description, 16, "零就业家庭调查"
    End Sub