Manejo de excepciones
De Wikipedia, la enciclopedia libre
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 ejemplo, 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 probablemente 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, PHP , Python ,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:
import java.io.IOException; // ... 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; finally // Este código siempre se ejecuta, independientemente de si ocurre o no una excepción. end; 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; end;