Hola. Últimamente he tenido el siguiente problema. Pongo un ejemplo básico para explicarlo:
Public Sub test()
Dim VectorA() As Integer = {1, 2, 3, 4, 5, 6}
For i As Integer = 0 To VectorA.GetLength(1) - 1 <-------- ERROR
(algún código)
Next
TextBox2.Text = "GetType = " & VectorA.GetType.ToString
TextBox3.Text = VectorA.GetLength(0).ToString
(más código antes de termianr el Sub)
End Sub
Cuando el depurador llega al error VectorA.GetLength(1) (la matriz tiene una sola dimensión), en vez de interrumpir el programa y mostrarme la excepción, lo que hace es ignorarla y seguir. Aparte de eso, todo el código que viene después hasta terminarse el Sub también es ignorado.
Si utilizo un Try-Catch, éste funciona bien y me muestra mi excepción controlada pero si no la pongo, ocurre lo que puse al principio: El depurador ignora la excepción y se salta todo el código hasta el final del método. Obviamente esto hace que me vuelva loco buscando el error.
En fin, necesito que cuando utilice mi propio Try-Catch funcione, pero si no lo pongo, necesito que el depurador DETENGA el programa y me muestre el mensaje de "Excepción Encontrada" para así saber dónde está el problema.
Espero me haya hecho entender. Gracias.