Transcript
8/14/2019 Control Estructurado de Excepciones
1/30
ontro Estructura o eon ro s ruc ura o eExcepcionesExcepciones
En visual Basic.net el colapso de unEn visual Basic.net el colapso de unprograma constituye un problemaprograma constituye un problemainesperado del cual este no puedeinesperado del cual este no puederecuperarse.recuperarse.
colapso de programa no pudo cargar unacolapso de programa no pudo cargar unaimagen desde un archivo o cuandoimagen desde un archivo o cuandointrodujo intencionalmente errores en suintrodujo intencionalmente errores en sucdigo de programacin durante lacdigo de programacin durante la
depuracin, o cuando le dio error por eldepuracin, o cuando le dio error por eltipo de dato que declaro en la variable ytipo de dato que declaro en la variable yel que contiene el objeto textbox.el que contiene el objeto textbox.
8/14/2019 Control Estructurado de Excepciones
2/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
es posible escribir rutinas Visual Basic.netes posible escribir rutinas Visual Basic.net
especiales, llamadas controladoresespeciales, llamadas controladores
estructurados de excepciones (o errores)estructurados de excepciones (o errores)
Los controladores de errores manejan losLos controladores de errores manejan los
errores en tiempo de ejecucin indicando alerrores en tiempo de ejecucin indicando al
programa como deben continuar cuandoprograma como deben continuar cuando
una de sus instrucciones no funciona.una de sus instrucciones no funciona.
8/14/2019 Control Estructurado de Excepciones
3/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
Los controladores de errores pueden colocarse enLos controladores de errores pueden colocarse encada procedimiento de evento en donde exista lacada procedimiento de evento en donde exista laposibilidad de enfrentar problemas, o en funciones oposibilidad de enfrentar problemas, o en funciones osubprogramas genricos que asumen un controlsubprogramas genricos que asumen un controlsistemtico despus de que se ha presentado unsistemtico despus de que se ha presentado un
error.error. Los controladores de errores atrapan o detectan losLos controladores de errores atrapan o detectan los
problemas empleando bloques de cdigo Tryproblemas empleando bloques de cdigo Try
Catch y un objeto especial denominado ErrCatch y un objeto especial denominado Err
8/14/2019 Control Estructurado de Excepciones
4/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
Dicho objeto tiene una propiedad Number queDicho objeto tiene una propiedad Number que
identifica el nmero de error, y una propiedadidentifica el nmero de error, y una propiedadDescription que se puede utilizar para desplegarDescription que se puede utilizar para desplegaruna descripcin del mismouna descripcin del mismo
Por ejemplo, cuando el error en tiempo dePor ejemplo, cuando el error en tiempo de
ejecucin esta asociado con la carga de un archivoejecucin esta asociado con la carga de un archivodesde una unidad USB, el controlador de errordesde una unidad USB, el controlador de errorpodra desplegar un mensaje personalizadopodra desplegar un mensaje personalizadoidentificando el problema y pidindole al usuarioidentificando el problema y pidindole al usuarioque inserte un USB, en lugar de permitir que laque inserte un USB, en lugar de permitir que la
operacin incorrecta detenga el programa.operacin incorrecta detenga el programa.
8/14/2019 Control Estructurado de Excepciones
5/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Los controladores de errores se pueden emplearLos controladores de errores se pueden emplear
en cualquier situaciones que determinada accinen cualquier situaciones que determinada accin(esperada o inesperada) pueda producir una(esperada o inesperada) pueda producir unaexcepcin que detenga la ejecucin delexcepcin que detenga la ejecucin delprograma.programa.
Normalmente los controladores de errores seNormalmente los controladores de errores seutilizan para manejar eventos externos queutilizan para manejar eventos externos queafectan el programa (por ejemplo, eventosafectan el programa (por ejemplo, eventoscausados por fallas en una conexin de red o concausados por fallas en una conexin de red o conInternet, un CD o disco mal insertado en laInternet, un CD o disco mal insertado en launidad, o una impresora o escner apagados).unidad, o una impresora o escner apagados).
8/14/2019 Control Estructurado de Excepciones
6/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
8/14/2019 Control Estructurado de Excepciones
7/30
on ro s ruc ura o eExcepcionesExcepciones
8/14/2019 Control Estructurado de Excepciones
8/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
El bloque de cdigo que se utiliza para controlar un errorEl bloque de cdigo que se utiliza para controlar un error
en tiempo de ejecucin se llama Try.Catch. Paraen tiempo de ejecucin se llama Try.Catch. Paraaprovecharlo es proceso colocar la instruccin tryaprovecharlo es proceso colocar la instruccin trydentro del procedimiento de eventodentro del procedimiento de evento
justo antes de la instruccin que nos preocupa, y lajusto antes de la instruccin que nos preocupa, y lainstruccin Catch inmediatamente despus con una listainstruccin Catch inmediatamente despus con una lista
de las instrucciones que se desea ejecutar en caso dede las instrucciones que se desea ejecutar en caso deque ocurra un error en tiempo de ejecucinque ocurra un error en tiempo de ejecucin
Tambin es posible incluir diversas instruccionesTambin es posible incluir diversas instruccionesopcionales, por ejemplo, Catch When, Finally, Exit Try yopcionales, por ejemplo, Catch When, Finally, Exit Try ybloques de cdigo Try.Catch anidados.bloques de cdigo Try.Catch anidados.
8/14/2019 Control Estructurado de Excepciones
9/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
La sintaxis bsica de los controladores deLa sintaxis bsica de los controladores de
excepciones Try.Catch es tan simple comoexcepciones Try.Catch es tan simple comose muestra ase muestra a continuacin:continuacin:
TryTry
Instrucciones que podran ocasionar un errorInstrucciones que podran ocasionar un error
enen tiempo de ejecucintiempo de ejecucin CatchCatch Instrucciones que deben ejecutarseInstrucciones que deben ejecutarse
cuando ocurre uncuando ocurre un error en tiempo deerror en tiempo de
ejecucinejecucin FinallyFinally Instrucciones opcionales que debenInstrucciones opcionales que deben
ejecutarse siejecutarse si ocurre o no un errorocurre o no un error
End TryEnd Try
8/14/2019 Control Estructurado de Excepciones
10/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
La instruccin Try identifica el principioLa instruccin Try identifica el principiodel controlador de errores dentro deldel controlador de errores dentro delcual se requieren las palabras clave Try,cual se requieren las palabras clave Try,
Catch y End TryCatch y End Try mientras que Finally y las instruccionesmientras que Finally y las instrucciones
posteriores son opcionales.posteriores son opcionales.
C l E d dE
8/14/2019 Control Estructurado de Excepciones
11/30
Control Estructurado deontro Estructura o eExcepcionesExcepciones
El siguiente ejemplo muestra un error comnEl siguiente ejemplo muestra un error comn
en tiempo de ejecucin: problemas con unaen tiempo de ejecucin: problemas con unaruta de archivo, con unidad de disco oruta de archivo, con unidad de disco odispositivo perifrico. Para llevar a cabo estedispositivo perifrico. Para llevar a cabo esteejercicio tendr que cargar un proyecto, cuyaejercicio tendr que cargar un proyecto, cuya
intencin es mostrar como se abren archivosintencin es mostrar como se abren archivosgrficos dentro de un objeto cuadro degrficos dentro de un objeto cuadro deimagen en un formulario de Windows.imagen en un formulario de Windows.
t t t
8/14/2019 Control Estructurado de Excepciones
12/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
A fin de alistarse lo realizaremos aA fin de alistarse lo realizaremos atravs de una USB, copiaremos untravs de una USB, copiaremos unarchivo el cual esta en la U virtualarchivo el cual esta en la U virtualllamado mujer.bmp.llamado mujer.bmp.
Para llevarlo a feliz trminoPara llevarlo a feliz trminodeberemos de retirar el dispositivodeberemos de retirar el dispositivodonde se encuentra el archivodonde se encuentra el archivo
8/14/2019 Control Estructurado de Excepciones
13/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Experimentando con los errores de unidadExperimentando con los errores de unidad
de discode disco Inserte su USB en la PCInserte su USB en la PC
copie el archivo en su USB el cual secopie el archivo en su USB el cual se
llama mujer.bmp (lo debe bajar de lallama mujer.bmp (lo debe bajar de laUvirtual)Uvirtual)
necesitaremos para este ejercicio losnecesitaremos para este ejercicio los
siguiente controles:siguiente controles:
t t t
8/14/2019 Control Estructurado de Excepciones
14/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
t t t
8/14/2019 Control Estructurado de Excepciones
15/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
Haga doble clic en el botn Revisar unidad delHaga doble clic en el botn Revisar unidad del
formulario para desplegar el procedimiento deformulario para desplegar el procedimiento deevento Btnrevisar_clickevento Btnrevisar_click
Se digitara la siguiente lnea de comando:Se digitara la siguiente lnea de comando:
8/14/2019 Control Estructurado de Excepciones
16/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
Con su USB introducida en la PC enCon su USB introducida en la PC enla unidad E (o equivalente), hagala unidad E (o equivalente), hagaclic en el botn iniciar depuracinclic en el botn iniciar depuracin
de la barra de herramientasde la barra de herramientasEstndar para ejecutar el programaEstndar para ejecutar el programa
Enseguida aparecer el formularioEnseguida aparecer el formulario
del proyecto como se muestra adel proyecto como se muestra acontinuacin:continuacin:
8/14/2019 Control Estructurado de Excepciones
17/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
8/14/2019 Control Estructurado de Excepciones
18/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Haga clic en el botn Revisar unidad delHaga clic en el botn Revisar unidad del
formulario. El programa cargara elformulario. El programa cargara elarchivo mujer.bmmp desde la USB y loarchivo mujer.bmmp desde la USB y lodesplegara en el cuadro de imagen comodesplegara en el cuadro de imagen comose muestra en la figura siguiente:se muestra en la figura siguiente:
C t l E t t d dt E t t
8/14/2019 Control Estructurado de Excepciones
19/30
Control Estructurado deontro Estructura o eExcepcionesExcepciones
retire la USB de la PCretire la USB de la PC Si esta utilizando un tipo distinto deSi esta utilizando un tipo distinto de
medio, retrelo ahora. En caso demedio, retrelo ahora. En caso de
que este haciendo la prueba con unque este haciendo la prueba con undispositivo de almacenamientodispositivo de almacenamientoremovible, siga los procedimientosremovible, siga los procedimientosnormales para desactivarlos denormales para desactivarlos deforma segura retrelo.forma segura retrelo.
C t l E t t d dC t l E t t d d
8/14/2019 Control Estructurado de Excepciones
20/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
El programa no podr encontrar al archivo, yEl programa no podr encontrar al archivo, y
Visual Basic.net emitir un error en tiempoVisual Basic.net emitir un error en tiempode ejecucin, o excepcin incontrolable,de ejecucin, o excepcin incontrolable,ocasionando que el programa se detengaocasionando que el programa se detenga
8/14/2019 Control Estructurado de Excepciones
21/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Haga clic en el botn DetenerHaga clic en el botn Detener
depuracin del cuadro dedepuracin del cuadro deherramientas estndar para cerrarherramientas estndar para cerrarel programa.el programa.
Escriba un controlador de erroresEscriba un controlador de erroresde unidad de discode unidad de disco
no hemos especificado lo que Visualno hemos especificado lo que Visual
Basic.net debe hacer cuandoBasic.net debe hacer cuandoencuentre una excepcin que noencuentre una excepcin que nosepa como manejarsepa como manejar..
t t t
8/14/2019 Control Estructurado de Excepciones
22/30
ontro structura o eon ro s ruc ura o eExcepcionesExcepciones
La solucin a este problema consisteLa solucin a este problema consiste
en escribir un bloque de cdigo Tryen escribir un bloque de cdigo TryCatch que reconozca el error y leCatch que reconozca el error y leinforme a visual Basic.net como debeinforme a visual Basic.net como debe
actaacta A continuacin agregaremosA continuacin agregaremos
precisamente este controlador deprecisamente este controlador de
errores.errores.
8/14/2019 Control Estructurado de Excepciones
23/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
on ro s ruc ura o eon ro s ruc ura o e
8/14/2019 Control Estructurado de Excepciones
24/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Este cdigo de programacin nos muestra elEste cdigo de programacin nos muestra el
uso bsico de los bloques Try..Catch: coloca lauso bsico de los bloques Try..Catch: coloca lainstruccin FromFile que esta causandoinstruccin FromFile que esta causandoproblemas dentro de un bloque de cdigo Tryproblemas dentro de un bloque de cdigo Tryde manera que, cuando el cdigo dede manera que, cuando el cdigo de
programacin produce un error, se ejecutanprogramacin produce un error, se ejecutanlas instrucciones del bloque de cdigo Catch.las instrucciones del bloque de cdigo Catch.
Este ltimo simplemente despliega un cuadroEste ltimo simplemente despliega un cuadrode mensajes que pide al usuario que inserte lade mensajes que pide al usuario que inserte la
memoria USB de forma que el programamemoria USB de forma que el programapueda proseguirpueda proseguir
on ro s ruc ura o eon ro s ruc ura o e
8/14/2019 Control Estructurado de Excepciones
25/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Retire la USB de la PC y haga clic en el botn IniciarRetire la USB de la PC y haga clic en el botn Iniciardepuracin para ejecutar el programa.depuracin para ejecutar el programa.
Haga clic en el botn Revisar unidadHaga clic en el botn Revisar unidad
En lugar de detener la ejecucin del programa, VisualEn lugar de detener la ejecucin del programa, VisualBasic.net invocara la instruccin Catch, la cual despliega elBasic.net invocara la instruccin Catch, la cual despliega elcuadro de mensaje siguiente:cuadro de mensaje siguiente:
on ro s ruc ura o eon ro s ruc ura o e
8/14/2019 Control Estructurado de Excepciones
26/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Haga clic en aceptar y despus vuelva a hacerHaga clic en aceptar y despus vuelva a hacerclic en el botn Revisar unidadclic en el botn Revisar unidad
El programa volver a desplegar el mensaje deEl programa volver a desplegar el mensaje deerror, pidindole que inserte el discoerror, pidindole que inserte el discocorrectamente en la unidad E. Siempre que existacorrectamente en la unidad E. Siempre que existaun problema en la carga del archivo aparecerun problema en la carga del archivo aparecer
este cuadro de mensaje.este cuadro de mensaje. Inserte la USB en la unidad correspondiente,Inserte la USB en la unidad correspondiente,
espere un momento a que el sistema reconozcaespere un momento a que el sistema reconozcala USB (cierre cualquier ventana que aparezcala USB (cierre cualquier ventana que aparezcacuando inserte la USB), haga clic en Aceptar ycuando inserte la USB), haga clic en Aceptar y
luego una vez mas en el botn Revisar unidad.luego una vez mas en el botn Revisar unidad.
on ro s ruc ura o eon ro s ruc ura o e
8/14/2019 Control Estructurado de Excepciones
27/30
on ro s ruc ura o eon ro s ruc ura o eExcepcionesExcepciones
Utilice la clusula Finally para
realizar tareas de limpieza Se puede utilizar la clusula opcional
Finally junto con TryCatch para
ejecutar un bloque de declaracionessin importar la forma en que elcompilador ejecute los bloques Try o
catch.
8/14/2019 Control Estructurado de Excepciones
28/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
Control Estructurado deControl Estructurado de
8/14/2019 Control Estructurado de Excepciones
29/30
Control Estructurado deControl Estructurado deExcepcionesExcepciones
El controlador de errores desplegara un cuadroEl controlador de errores desplegara un cuadro
de dialogo pidindole que inserte el dispositivode dialogo pidindole que inserte el dispositivoUSB en la unidad E.USB en la unidad E.
Haga clic en AceptarHaga clic en Aceptar
El programa ejecutara la clusula Finally delEl programa ejecutara la clusula Finally delcontrolador de errores y aparecer el cuadro decontrolador de errores y aparecer el cuadro demensaje siguientemensaje siguiente
8/14/2019 Control Estructurado de Excepciones
30/30
ejercicioejercicio
Realizar un programa que sume dosRealizar un programa que sume dosnumero y mediante Try Catch quenumero y mediante Try Catch quegarantice que no se detenga elgarantice que no se detenga el
problema cuando se lean caracteresproblema cuando se lean caracteresen vez de nmeros. Que muestre unen vez de nmeros. Que muestre unmensaje como: digite valoresmensaje como: digite valores
numricosnumricos
top related