Manejo de excepciones
Keywords: Manejo de excepciones, C más más, Delphi, Lenguaje de programación, Lenguaje de programación Ada, Lenguaje de programación Eiffel, Lenguaje de programación Java, Lisp, Objective C
El Manejo de excepciones es una estructura de control de los lenguajes de programación diseñada para manejar condiciones anormales que pueden ser tratadas por el mismo programa que se desarrolla.
Por ejempo, un programa puede admitir como aceptable cierto número de errores en el formato de los datos y continuar su proceso de manera de producir el mejor resultado posible en lugar de producir una salida aparatosa con condiciones de error probablemenet incomprensibles para el usuario. Muchas veces la acción asociada a una excepción es simplemente producir un mensaje informativo y terminar, otras veces, es sólo indicación de la necesidad de un cambio en la estrategia de resolución del problema.
Algunos lenguajes de programación, por ejemplo Lisp, Ada. C++, Delphi, Objective C, Java, Eiffel y Ocaml incluyen soporte para el manejo de excepciones. En esos lenguajes, al producirse una excepción se desciende en la pila de ejecución hasta encontrar un manejador para la excepción, el cual toma el control en ese momento.
Ejemplo de manejo de excepción en Java:
#include <exception>
// ...
public static void main(String[] args) {
try {
// Se ejecuta algo que puede producir una excepción
} catch (IOException e) {
// manejo de una excepción de entrada/salida
} catch (Exception e) {
// manejo de una excepción cualquiera
} finally {
// código a ejecutar haya o no excepción
}
}
Ejemplo de manejo de excepción en Delphi:
Procedure TForm1.Button1Click(Sender : TObject);
Begin
try
try
a := b / c;
except
on e:EZeroDivide do
// Manejo de la excepción División por cero.
on e:Exception do
// Manejo de una excepción "genérica".
end;
finally
// Este código siempre se ejecuta, independientemente de si ocurre o no una excepción.
end;
end;
