Я хочу зарегистрироваться, исключения произошли во время выполнения моего приложения. Перед этим я обработал его с окном сообщения. Я плохо знаком с VB 6.
Предоставьте некоторый код кода, чтобы создать файл журнала и сохранить сообщения об исключениях.
Спасибо..
Вам нужны обработчики ошибок, используя по ошибке GOTO
, чтобы вы могли выполнить свой собственный код при возникновении ошибки. (BTW в VB6 они называются ошибками Исключения .) Бесплатный инструмент MZTools отлично - он может автоматически вставить на ошибку GOTO
и обработчик ошибок, который включает в себя имя текущей рутины.
Вам также нужна общая процедура, которая регистрирует данные об ошибках в файл, немного похоже на это ниже. Предупреждение о здоровье - я только что набрал это прямо без тестирования ( воздушного кода ).
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
Бонусное предложение: Сверните свой собственный трассировку стека .
Бонусное предложение 2: отключите обработчики ошибок в IDE с чем-то вроде этого , если не ISInide (), то по ошибке GOTO Handler
, используя функцию ISInide
из здесь