6.4.5.- Selectiva intenta

La estructura intenta ( try/catch ) se utiliza para atrapar excepciones. Aunque es una estructura de uso especializado, vale la pena describirla brevemente aquí para compararla con alguna de las otras estructuras aquí estudiadas.
Diagrama de flujo:

Sintaxis:
try{
// Bloque de instrucciones que pueden generar una o más // situaciones excepcionales.
}
catch(Excepción 1){
// Bloque alternativo para el caso de existir la Excepción 1
}
...
catch(Excepción N ){
// Bloque alternativo para el caso de existir la Excepción N
}
finally // Opcional{
// Bloque de instrucciones que siempre se ejecutan
}

Ejemplo:
try {
byte num1; byte num2; byte suma; byte cociente;
num1 = 126; num2 = 2; cociente = checked ((byte)(num1/num2)); suma = checked ((byte)(num1 + num2)); Console.WriteLine(suma); Console.WriteLine(cociente);
Console.WriteLine("Pulse enter para finalizar..."); Console.Read();
} catch ( OverflowException ) {
Console.WriteLine("Una operación matemática produjo desbordamiento.");
Console.Read();
}
catch ( DivideByZeroException ) {
Console.WriteLine("Se intentó dividir por cero."); Console.Read();
}
finally {
Console.WriteLine("El bloque finally siempre se ejecuta.");
}

No hay comentarios: