domingo, 7 de septiembre de 2008

Levantar una excepción en Visual Basic .Net

Muchas veces resulta muy útil levantar una excepción en un programa de Visual Basic .Net. Dicho de otro modo, controlas un error y quieres que salte a la rutina de Try Catch que tienes en tu función. Antes de seguir, ¿no sabes que es el try..catch? Pues aqui tienes un pequeño tutorial que te indica como usarlo.

Sin embargo, algunas veces ocurre que necesitas tu mismo levantar una excepción en tu código fuente. Imaginemos la siguiente situación: tienes una caja de texto donde se pide la edad y quieres mostrar un error si no es numérico. Pues bien, una posibilidad es comprobarlo y mostrar el error con un MessageBox y luego salir de la función.

Sin embargo otra posibilidad es levantar una excepción e ir a la parte del Catch que tienes en tu código. ¿Como? Pues utilizando Throw New ArgumentException. Vaemos el ejemplo:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try

If Not IsNumeric(TextBox1.Text) Then
Throw New ArgumentException("Error: El valor introducido no es numérico")
End If

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
Si ponéis un punto de ruptura en la línea del Throw New observaréis como el flujo del programa salta directamente a la parte del catch. Además, es posible lanzar una expceción específica como DivideByZeroException o OverflowException.

No hay comentarios: