I am trying to create some sort of error catching method that will return the error line number. We have an abort email that is sent out when a process aborts that gives us the err.number and err.description but I would like to know where is actually errors out.
I know you can do the following:
1: code here
2: code here
3: code here
etc. and use ERL to get the number but it would be tedious to type each line out like that.
Is there either a way to automatically do this or would it be easier to use Stacktrace? If Stacktrace is better could you please show me an example?
I have adapted an example from other forum, in my case, I wasn't getting the line number where the error was caused, so I started playing around and found a solution, the code is as follows:
Public Class Form1
Private Sub a2()
Dim b As Integer = 0
Dim a As Integer = 1 / b
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
a2()
Catch ex As Exception
Dim st As New StackTrace(True)
st = New StackTrace(ex, True)
MessageBox.Show("Line: " & st.GetFrame(0).GetFileLineNumber().ToString, "Error")
End Try
End Sub
End Class
In this example, line 4 will trigger the error exception, but once I applied the principle in a real life application, line was 0, so I started playing with the index in the GetFrame property, it ranges from 0 to 4, when I put 4 in the object, EUREKA, I got the line number causing the problem.