miércoles, 16 de mayo de 2012

Try Catch Finally


Visual Studio Administrar Excepciones (Try - Catch)

En los siguientes ejercicios realizaremos el control de excepciones de las aplicaciones que construiremos utilizando el bloque Try … Catch … Finally
Implementando Bloque Try.
  • Crearemos una solución que llamaremos WinTry001.
  • Agregaremos un control Button al formulario que se crea por defecto en la solución.
  • Ingresaremos al método que atiende el evento clic del control botón.
  • Agregaremos las siguientes líneas de código al método mensionado:
Dim shNum As Short
Dim intNum As Integer = 1000
shNum = intNum * intNum


  • Ejecutar la aplicación y presionar el botón que se encuentra en el formulario. Al ejecutar la acción se observará que se ha desplegado el siguiente mensaje de error.


  • Detener la aplicación y agregar las siguientes líneas de código que permitirán administrar el error generado:
Dim shNum As Short
Dim intNum As Integer = 1000
Try
shNum = intNum * intNum
Catch
MessageBox.Show("Ha Ocurrido un Error")
End Try
  • Al ejecutar la aplicación se observará que el mensaje es desplegado en pantalla de la siguiente forma:


Si se observa en el presente ejemplo no se ha capturado el mensaje de error, solo se ha administrado el mismo, utilizando el bloque try … catch.
En los siguientes pasos veremos como se debe capturar un mensaje de error utilizando la clase base System.Exception.
  • En el bloque catch, antes mencionado, modificaremos las líneas de código agregando l siguiente:
Dim shNum As Short
Dim intNum As Integer = 1000
Try
shNum = intNum * intNum
Catch ex As System.Exception
MessageBox.Show(ex.Message)
End Try
  • Ejecutar la solución y presionar el botón del formulario, el cual desplegará el siguiente mensaje en la interfaz:














  • Precinar el botón aceptar y detener la aplicación.
  • Agregar otro bloque catch, antes del que se encuentra definido, incluyendo la llamada a clase de manejo de errores AritmeticalException. Quedando este de la siguiente forma:
Dim shNum As Short
Dim intNum As Integer = 1000
Try
shNum = intNum * intNum
Catch ex As ArithmeticException
MessageBox.Show(ex.Message)
Catch ex As System.Exception
MessageBox.Show(ex.Message)
End Try
  • Agregar un punto de interrupción en la línea de código definida y ejecutar esta. Como se puede observar, al capturar la excepción aritmética, entra a ese bloque y despliega el mensaje pertinente.
  • Podríamos definir aun más la depuración del mensaje agregando las siguientes líneas de código:
Dim shNum As Short
Dim intNum As Integer = 1000
Try
shNum = intNum * intNum
Catch ex As System.OverflowException
MessageBox.Show("El número es demasiado largo", ex.Source)
Catch ex As System.ArithmeticException
MessageBox.Show("Error matemático", ex.Source)
Catch ex As System.Exception
MessageBox.Show(ex.Message)
End Try
  • El método Source del manejo de excepciones, en este caso desplegará en la cabecera del mensaje el nombre de la aplicación que esta fallando, esto se podrá observar al ejecutar la aplicación:




    No hay comentarios:

    Publicar un comentario