Logging VB6如何在启动应用程序时在VB6中创建日志文件

Logging VB6如何在启动应用程序时在VB6中创建日志文件,logging,vb6,Logging,Vb6,我想记录在我的应用程序执行期间发生的异常。在此之前,我用消息框处理它。我是VB6的新手 请提供一些示例代码来创建日志文件和保存异常消息 谢谢 您需要错误处理程序,在错误转到时使用,以便在发生错误时可以执行自己的代码。(顺便说一句,在VB6中,它们被称为错误而非异常。)免费工具非常优秀-它可以自动插入错误转到时的,和包含当前例程名称的错误处理程序 您还需要一个将错误详细信息记录到文件中的常规例程,如下所示。健康警告-我只是直接输入,没有测试() 奖金建议:。 额外建议2:使用类似以下内容关闭IDE

我想记录在我的应用程序执行期间发生的异常。在此之前,我用消息框处理它。我是VB6的新手

请提供一些示例代码来创建日志文件和保存异常消息


谢谢

您需要错误处理程序,在错误转到时使用
,以便在发生错误时可以执行自己的代码。(顺便说一句,在VB6中,它们被称为错误而非异常。)免费工具非常优秀-它可以自动插入错误转到时的
和包含当前例程名称的错误处理程序

您还需要一个将错误详细信息记录到文件中的常规例程,如下所示。健康警告-我只是直接输入,没有测试()

奖金建议:。
额外建议2:使用类似以下内容关闭IDE中的错误处理程序
If Not IsInIDE(),然后在错误上转到处理程序
,使用

中的
IsInIDE
函数,这似乎正是您想要的。
Sub MySub()
  On Error Goto ErrHandler
  '... Do something ...'
  On Error Goto 0
  Exit Sub

ErrHandler:
  Call LogError("MySub", Err, Error$) ' passes name of current routine '
End Sub 

' General routine for logging errors '
Sub LogError(ProcName$, ErrNum&, ErrorMsg$)
  On Error Goto ErrHandler
  Dim nUnit As Integer
  nUnit = FreeFile
  ' This assumes write access to the directory containing the program '
  ' You will need to choose another directory if this is not possible '
  Open App.Path & App.ExeName & ".log" For Append As nUnit
  Print #nUnit, "Error in " & ProcName
  Print #nUnit, "  " & ErrNum & ", " & ErrorMsg
  Print #nUnit, "  " & Format$(Now)
  Print #nUnit
  Close nUnit
  Exit Sub

ErrHandler:
  'Failed to write log for some reason.'
  'Show MsgBox so error does not go unreported '
  MsgBox "Error in " & ProcName & vbNewLine & _
    ErrNum & ", " & ErrorMsg
End Sub