Try Catch Finally
Manipulación
de Errores
Difícil es, por no decir imposible, encontrar en programador
que no tenga errores en su código. Podemos clasificar los errores en una serie
de categorías genéricas.
1.
Errores de Escritura: Son los de localización más inmediata, ya que se
producen por un error sintáctico al escribir nuestro código y gracias a IDE de
Visual Studio .NET, podemos detectarlo rápidamente.
While
(iContador < 10)
End
2.
Errores de Ejecución: Estos errores son
los que provocan un fallo en la ejecución del programa y u interrupción. El
ejemplo siguiente provoco un error, ya que se intenta asignar un valor que no
corresponde ala tipo de dato de una variable.
Sub Main()
Dim
dtfecha As Date
dtfecha = ""
End Sub
3.
Errores Lógicos: Son
los más difíciles de captura, ya que el código se encuentra correctamente escrito, produce un problema por fallo de
planteamiento de código.
Bueno específicamente, ¿Qué es un error y
una Excepción?
Error: Es un evento que se produce durante el
funcionamiento de un programa.
Excepción: Específicamente es un objeto generado por un
error.
Manipulación Estructurada de Errores
En
este tipo de tratamiento, cada vez que se produce un error, se genera un objeto
de la clase Exception, conteniendo la información del error ocurrido. La
maenera de captura este tipo de objetos pasa por una estructura de control del
lenguaje, proporcionada para esta finalidad.
Sintaxis del Bloque try/catch/finally
Para los Bloques try/catch
existe una variación que consiste en agregar una sección denominada finally,
dicha estructura estaría compuesta de la siguiente manera:
try {
// Código que pueda generar Errores
("Exception's")
} catch(Tipo1 id1) {
// Manejar "Exception's"
para la Clase Tipo1
} catch(Tipo2 id2) {
// Manejar "Exception's"
para la Clase Tipo2
} catch(Tipo3 id3) {
// Manejar "Exception's"
para la Clase Tipo3
} finally {
// Actividades que siempre
ocurren
}
|
La utilización de finally
es empleada dentro de un Bloque try/catch para realizar tareas que deben
ser ejecutadas independientemente del comportamiento de errores.
Cuando se atrapa un error
("Exception") un programa queda inconcluso, es esta terminación
abrupta la que puede causar que algún recurso/mecanismo permanezca asignado o
mal utilizado; a través de una sección finally se garantiza que sea
ejecutado un juego de instrucciones independientemente del tipo de error
que pueda ocurrir; un uso muy común para una sección finally consiste en
liberar conexiones hacia Bases de Datos que pudieran haber sido asignadas en la
sección try
SINTAXIS
Try
'codigo
que puede provocar errores
[ Catch
[Excepcion [ as TipoExcepcionA]][ When Exprecion]
'respuesta
a error de tipo A
[ Catch
[Excepcion [ as TipoExcepcionN]][ When Exprecion]
'respuesta
a error de tipo N
[Exit Try]
[Finally]()
'codigo
posterior al control de errores
End Try
Es posible utilizar Catch de un modo genérico, es decir,
sin establecer que tipo de excepción se ha producido.
Clases de Excepciones
Cada vez que se produce un error, el entorno
de ejecución genera una excepción con la información del informe acontecido.
Entre las propiedades y métodos que podemos
utilizar, se encuentran las siguientes:
·
Message: Descripción del error.
·
Source: Nombre del objeto o aplicación que provoco el
error.
·
Stack Trace: Ruta o traza del código en la que se produjo
el error.
·
ToString(): Devuelve una cadena con información detallada
del error.
Exit Try
Esta es una sentencia, atreves de
esta sentencia, obligamos al flujo del programa a salir de la estructura de
control de errores, desde cualquier punto de la misma en que nos encontremos.
No hay comentarios:
Publicar un comentario