Buscador

Establecer una condición para un manipulador de excepciones - I

Mediante la cláusula When, de la sentencia Catch, podemos situar una expresión que sirva como filtro o condición, para que dicho manipulador de excepciones se ejecute, en función de que el resultado de la expresión devuelva Verdadero o Falso. 
En el siguiente ejemplo, definimos un manipulador de excepciones, para cuando se produzcan errores de desbordamiento al asignar un valor a una variable de tipo Byte. Sin embargo, mediante When, establecemos que dicho manipulador sólo se ejecute cuando sea un determinado mes; lo que provoca, que en el caso de que no se cumpla tal condición, saltará el mensaje de excepción predeterminado del IDE. Veamos el Código fuente 356.

Public Sub Main()
Dim byMiNum As Byte
Dim dtFHActual As Date
' obtener la fecha actual
dtFHActual = System.DateTime.Today()
Try
' comienza el control de errores
Console.WriteLine("Introducir un número")
' si introducimos un número no incluido
' en el rango de Byte...
byMiNum = Console.ReadLine()
Catch oExcep As OverflowException When (dtFHActual.Month = 3)
' ...saltará este manipulador de excepciones, pero sólo
' cuando las excepciones de desbordamiento
' se produzcan en el mes de Marzo
Console.WriteLine("El número introducido " & _
"no se encuentra en el rango adecuado")
Finally
Console.WriteLine("El controlador de errores ha finalizado")
End Try
Console.ReadLine()
End Sub
Código fuente 356

No hay comentarios:

Publicar un comentario