Agradecemos tu apoyo para difundir nuestros enunciados referente a las ciencias informáticas.
Solución:
He adaptado un ejemplo de otro foro, en mi caso, no estaba obteniendo el número de línea donde se produjo el error, así que comencé a jugar y encontré una solución, el código es el siguiente:
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
En este ejemplo, la línea 4 activará la excepción de error, pero una vez que apliqué el principio en una aplicación de la vida real, la línea era 0, así que comencé a jugar con el índice en la propiedad GetFrame, varía de 0 a 4, cuando puse 4 en el objeto, EUREKA, obtuve el número de línea que causa el problema.
La generación de números de línea en seguimientos de pila de excepción es una función integrada para CLR. Sin embargo, debe proporcionar la información que necesita para asignar una dirección de código a un número de línea. Cambie a la configuración de lanzamiento de su proyecto. Proyecto + Propiedades, pestaña Compilar, Opciones avanzadas de compilación. Cambie la configuración “Generar información de depuración” de solo pdb a Completo. Implemente los archivos .pdb junto con su programa.
Tenga en cuenta que el número de línea que obtiene siempre es una estimación, así que no confíe ciegamente en lo que ve. El mapeo es imperfecto debido a los métodos de inserción del optimizador de fluctuación de fase y, por lo demás, al movimiento del código para que el programa se ejecute más rápido.
Aquí tienes las comentarios y valoraciones
Recuerda algo, que tienes la capacidad de añadir una valoración certera si te ayudó.