Коллеги,
кто как ловит строку где случилась ошибка в своих программах?
Подскажите!!
речь
не идет о try catch end try , а о непредвиденных ошибках. Какая-нибудь
процедура (замена ErrorHandling из VB6) , которой можно отлавливать
все "оставшиеся" ошибки.
я использую такую, но не всегда передается туда номер строки
Куда смотреть?
вызов
basGeneralErr.GeneralError(c_sModuleFileName,"MyProg",
Err.GetException, New System.Diagnostics.StackTrace(Err.GetException,
True))
Public Module basGeneralErr
Public Sub GeneralError(ByVal sModulename As String, ByVal routineName As String, _
ByVal theError As System.Exception, _
ByVal trace As System.Diagnostics.StackTrace)
On Error Resume Next
Dim sMsg As String = "The following error occurred at" _
& vbNewLine & "module:" & sModulename _
& vbNewLine & "routine:" & routineName & "'" _
& vbNewLine & theError.Message
Dim sf As System.Diagnostics.StackFrame
Dim arrMSG As New ArrayList
For Each sf In trace.GetFrames
arrMSG.Add(vbNewLine & "source: " & sf.GetFileName _
& vbNewLine & "lineNumber: " & sf.GetFileLineNumber _
& vbNewLine & "-----")
Next
For i = arrMSG.Count - 1 To 0 Step -1
sMsg = sMsg & arrMSG(i)
Next
MsgBox(sMsg, MsgBoxStyle.OkOnly Or MsgBoxStyle.Exclamation, routineName)
End Sub