Control Estructurado de Excepciones
En
visual Basic.net el colapso de un programa constituye un problema inesperado del cual este no puede recuperarse. colapso de programa no pudo cargar una imagen desde un archivo o cuando introdujo intencionalmente errores en su código de programación durante la depuración, o cuando le dio error por el tipo de dato que declaro en la variable y el que contiene el objeto textbox.
Control Estructurado de Excepciones
es posible escribir rutinas Visual Basic.net
especiales, llamadas controladores estructurados de excepciones (o errores) Los controladores de errores manejan los errores en tiempo de ejecución indicando al programa como deben continuar cuando una de sus instrucciones no funciona.
Control Estructurado de Excepciones Los
controladores de errores pueden colocarse en cada procedimiento de evento en donde exista la posibilidad de enfrentar problemas, o en funciones o subprogramas genéricos que asumen un control sistemático después de que se ha presentado un error. Los controladores de errores atrapan o detectan los problemas empleando bloques de código Try… Catch y un objeto especial denominado Err
Control Estructurado de Excepciones Dicho objeto tiene una propiedad Number que
identifica el número de error, y una propiedad Description que se puede utilizar para desplegar una descripción del mismo Por ejemplo, cuando el error en tiempo de ejecución esta asociado con la carga de un archivo desde una unidad USB, el controlador de error podría desplegar un mensaje personalizado identificando el problema y pidiéndole al usuario que inserte un USB, en lugar de permitir que la operación incorrecta detenga el programa.
Control Estructurado de Excepciones Los controladores de errores se pueden emplear
en cualquier situaciones que determinada acción (esperada o inesperada) pueda producir una excepción que detenga la ejecución del programa. Normalmente los controladores de errores se utilizan para manejar eventos externos que afectan el programa (por ejemplo, eventos causados por fallas en una conexión de red o con Internet, un CD o disco mal insertado en la unidad, o una impresora o escáner apagados).
Control Estructurado de Excepciones
Control Estructurado de Excepciones
Control Estructurado de Excepciones El bloque de código que se utiliza para controlar un error
en tiempo de ejecución se llama Try….Catch. Para aprovecharlo es proceso colocar la instrucción try dentro del procedimiento de evento justo antes de la instrucción que nos preocupa, y la instrucción Catch inmediatamente después con una lista de las instrucciones que se desea ejecutar en caso de que ocurra un error en tiempo de ejecución También es posible incluir diversas instrucciones opcionales, por ejemplo, Catch When, Finally, Exit Try y bloques de código Try….Catch anidados.
Control Estructurado de Excepciones La sintaxis básica de los controladores de
excepciones Try….Catch es tan simple como se muestra a continuación: Try Instrucciones que podrían ocasionar un error en tiempo de ejecución Catch Instrucciones que deben ejecutarse cuando ocurre un error en tiempo de ejecución Finally Instrucciones opcionales que deben ejecutarse si ocurre o no un error End Try
Control Estructurado de Excepciones La
instrucción Try identifica el principio del controlador de errores dentro del cual se requieren las palabras clave Try, Catch y End Try mientras que Finally y las instrucciones posteriores son opcionales.
El
Control Estructurado de Excepciones
siguiente ejemplo muestra un error común en tiempo de ejecución: problemas con una ruta de archivo, con unidad de disco o dispositivo periférico. Para llevar a cabo este ejercicio tendrá que cargar un proyecto, cuya intención es mostrar como se abren archivos gráficos dentro de un objeto cuadro de imagen en un formulario de Windows.
A
Control Estructurado de Excepciones
fin de alistarse lo realizaremos a través de una USB, copiaremos un archivo el cual esta en la U virtual llamado mujer.bmp. Para llevarlo a feliz término deberemos de retirar el dispositivo donde se encuentra el archivo
Control Estructurado de Excepciones
Experimentando con los errores de unidad de disco Inserte su USB en la PC copie el archivo en su USB el cual se llama mujer.bmp (lo debe bajar de la Uvirtual) necesitaremos para este ejercicio los siguiente controles:
Control Estructurado de Excepciones
Control Estructurado de Excepciones Haga doble clic en el botón Revisar unidad del
formulario para desplegar el procedimiento de evento Btnrevisar_click Se digitara la siguiente línea de comando:
Control Estructurado de Excepciones Con su USB introducida en la PC en la unidad E (o equivalente), haga clic en el botón iniciar depuración de la barra de herramientas Estándar para ejecutar el programa Enseguida aparecerá el formulario del proyecto como se muestra a continuación:
Control Estructurado de Excepciones
Control Estructurado de Excepciones Haga clic en el botón Revisar unidad del
Haga clic en el botón Revisar unidad del formulario. El programa cargara el archivo mujer.bmmp desde la USB y lo desplegara en el cuadro de imagen como se muestra en la figura siguiente:
Control Estructurado de Excepciones retire la USB de la PC Si esta utilizando un tipo distinto de medio, retírelo ahora. En caso de que este haciendo la prueba con un dispositivo de almacenamiento removible, siga los procedimientos normales para desactivarlos de forma segura retírelo.
Control Estructurado de Excepciones El programa no podrá encontrar al archivo, y Visual Basic.net emitirá un error en tiempo de ejecución, o excepción incontrolable, ocasionando que el programa se detenga
Control Estructurado de Excepciones
Haga clic en el botón Detener depuración del cuadro de herramientas estándar para cerrar el programa. Escriba un controlador de errores de unidad de disco no hemos especificado lo que Visual Basic.net debe hacer cuando encuentre una excepción que no sepa como manejar.
Control Estructurado de Excepciones
La
solución a este problema consiste en escribir un bloque de código Try… Catch que reconozca el error y le informe a visual Basic.net como debe actúa A continuación agregaremos precisamente este controlador de errores.
Control Estructurado de Excepciones
Control Estructurado de Excepciones Este código de programación nos muestra el
uso básico de los bloques Try..Catch: coloca la instrucción FromFile que esta causando problemas dentro de un bloque de código Try de manera que, cuando el código de programación produce un error, se ejecutan las instrucciones del bloque de código Catch. Este último simplemente despliega un cuadro de mensajes que pide al usuario que inserte la memoria USB de forma que el programa pueda proseguir
Control Estructurado de Excepciones Retire la USB de la PC y haga clic en el botón Iniciar
depuración para ejecutar el programa. Haga clic en el botón Revisar unidad En lugar de detener la ejecución del programa, Visual Basic.net invocara la instrucción Catch, la cual despliega el cuadro de mensaje siguiente:
Control Estructurado de Excepciones Haga clic en aceptar y después vuelva a hacer
clic en el botón Revisar unidad El programa volverá a desplegar el mensaje de error, pidiéndole que inserte el disco correctamente en la unidad E. Siempre que exista un problema en la carga del archivo aparecerá este cuadro de mensaje. Inserte la USB en la unidad correspondiente, espere un momento a que el sistema reconozca la USB (cierre cualquier ventana que aparezca cuando inserte la USB), haga clic en Aceptar y luego una vez mas en el botón Revisar unidad.
Control Estructurado de Excepciones Utilice la cláusula Finally para realizar tareas de limpieza Se puede utilizar la cláusula opcional Finally junto con Try…Catch para ejecutar un bloque de declaraciones sin importar la forma en que el compilador ejecute los bloques Try o catch.
Control Estructurado de Excepciones
Control Estructurado de Excepciones El controlador de errores desplegara un cuadro
de dialogo pidiéndole que inserte el dispositivo USB en la unidad E. Haga clic en Aceptar El programa ejecutara la cláusula Finally del controlador de errores y aparecerá el cuadro de mensaje siguiente
ejercicio Realizar
un programa que sume dos numero y mediante Try …Catch que garantice que no se detenga el problema cuando se lean caracteres en vez de números. Que muestre un mensaje como: digite valores numéricos