Vous êtes sur la page 1sur 6

anejo de excepciones

Este artculo o seccin sobre informtica necesita ser wikificado con


un formato acorde a lasconvenciones de estilo.
Por favor, edtalo para que las cumpla. Mientras tanto, no elimines este aviso, puesto
el 23 de julio de 2011.
Tambin puedes ayudar wikificando otros artculos.

Este artculo o seccin necesita referencias que aparezcan en


una publicacin acreditada, como revistas especializadas, monografas,
prensa diaria o pginas de Internet fidedignas. Este aviso fue puesto el 23
de julio de 2011.
Puedes aadirlas o avisar al autor principal del artculo en su pgina de discusin
pegando: {{subst:Aviso referencias|Manejo de excepciones}} ~~~~

El manejo de excepciones es una tcnica de programacin que permite al programador


controlar los errores ocasionados durante la ejecucin de un programa informtico. Cuando
ocurre cierto tipo de error, el sistema reacciona ejecutando un fragmento de cdigo que
resuelve la situacin, por ejemplo retornando un mensaje de error o devolviendo un valor por
defecto.
ndice
[ocultar]

1 Introduccin
o

1.1 Uso del manejo de excepciones

1.2 Limpieza de pila

1.3 Aserciones

1.4 Conclusin

2 Ejemplos de cdigo
o

2.1 Java

2.2 Delphi

2.3 Pascal

2.4 Python

2.5 Ada
3 Enlaces externos

Introduccin[editar]
Una excepcin en trminos de lenguaje de programacin es la indicacin de un problema que
ocurre durante la ejecucin de un programa. Sin embargo, la palabra excepcin se refiere a
que este problema ocurre con poca frecuencia generalmente cuando existe algn dato o
instruccin que no se apega al funcionamiento del programa por lo que se produce un error. El
manejo de excepciones permite al usuario crear aplicaciones tolerantes a fallas y robustos
(resistentes a errores) para controlar estas excepciones y que pueda seguir ejecutando el
programa sin verse afectado por el problema. En lenguaje java estas excepciones pueden
manejarse con las clases que extienden el paquete Throwable de manera directa o indirecta,
pero existen diversos tipos de excepciones y formas para manejarlas.

Uso del manejo de excepciones[editar]


El manejo de excepciones ayuda al programador a trasladar el cdigo para manejo de errores
de la lnea principal de ejecucin, adems se puede elegir entre manejar todas las
excepciones, las de cierto tipo o de las de grupos relacionados, esto hace que la probabilidad
de pasar por alto los errores se reduzca y a la vez hace los programas ms robustos. Pero es
importante utilizar un lenguaje de programacin que soporte este manejo, de lo contrario el
procesamiento de errores no estar incluido y har el programa ms vulnerable. Este manejo
est diseado para procesar errores que ocurren cuando se ejecuta una instruccin, algunos
ejemplos son: desbordamiento aritmtico, divisin entre cero, parmetros invlidos de mtodo
y asignacin fallida en la memoria. Sin embargo, no est diseado para procesar problemas
con eventos independientes al programa como son pulsar una tecla o clic al mouse.
Las excepciones se dividen en verificadas y no verificadas. Es importante esta divisin porque
el compilador implementa requerimientos de atrapar o declarar para las verificadas lo que har
que se detecten las excepciones automticamente y de acuerdo al lenguaje de programacin
utilizado se utilizar un mtodo para corregirlas. Sin embargo para las no verificadas se
producir un error indicando que deben atraparse y declararse. Por eso el programador debe
pensar en los problemas que pueden ocurrir cuando se llama a un mtodo y definir
excepciones para verificarse cuando sean importantes. Las clases de excepciones pueden
derivarse de una superclase comn, por lo que con un manejador para atrapar objetos de la
superclase, tambin se pueden atrapar todos los objetos de las subclases de esa clase. Pero
tambin, se pueden atrapar a cada uno de los tipos de las subclases de manera individual si
estas requieren ser procesadas diferente.
A cada clula se le conoce como compiladora de distintos.

Limpieza de pila[editar]

En ocasiones cuando se lanza una excepcin, pero no se atrapa en un enlace especfico, la


pila de llamadas se limpia y el programa intenta volverlo a atrapar en el siguiente bloque, esto
se conoce como limpia de pila. Este proceso hace que el mtodo en el que no se atrap la
excepcin termina, todas sus variables quedan fuera del enlace y el control regresa a la
instruccin que originalmente la invoc. La limpieza de pila de repetir hasta que la excepcin
pueda ser atrapada porque de lo contrario se producir un error a la hora de compilar.

Aserciones[editar]
Las aserciones ayudan a asegurar la validez del programa al atrapar los errores potenciales e
identificar los posibles errores lgicos del desarrollo. Estas pueden escribirse como
comentarios para apoyar a la persona que desarrolla el programa. Algunos ejemplos son:
Precondiciones y pos condiciones Estas caractersticas son utilizadas por los
programadores para hacer un anlisis de lo esperado del programa antes y despus de su
ejecucin. Son importantes porque gracias a ellas se pueden detectar posibles fallas en el
programa y corregirlas.
Las precondiciones son verdaderas cuando se invoca a un mtodo, estas describen las
caractersticas del mtodo y las expectativas que se tienen en el estado actual del programa.
Si no se cumplen las precondiciones el comportamiento del mtodo es indefinido por lo que se
lanza una excepcin que est preparada o continuar con el programa esperando el error. Las
pos condiciones describen las restricciones en el entorno y cualquier efecto secundario del
mtodo. Es recomendable escribirlas para saber que esperar en un futuro si es que se hacen
modificaciones.

Conclusin[editar]
El manejo de excepciones ayuda a lidiar con los errores de una aplicacin por medio de la
manipulacin del cdigo para hacer programas ms robustos. Adems existen herramientas
que ayudan a manejarlas tal es el caso de los bloques try(intentar) que encierran el cdigo
que puede lanzar una excepcin y los bloques el catch (atrapar) que lidian con las
excepciones que surjan. Tambin existen tcnicas que el programador utiliza para conocer el
posible funcionamiento del programa y detectar los errores que pueda contener.

Ejemplos de cdigo[editar]
Java[editar]

import java.io.IOException;
// ...

public static void main(String[] args) {


try {
// Se ejecuta algo que puede producir una excepcin
} catch (IOException e) {
// manejo de una excepcin de entrada/salida
} catch (Exception e) {
// manejo de una excepcin cualquiera
} finally {
// cdigo a ejecutar haya o no excepcin
}
}

Delphi[editar]

procedure TForm1.Button1Click(Sender : TObject);


begin
try
try
a := b / c;
finally
// Este cdigo siempre se ejecuta, independientemente de si ocurre
o no una excepcin.
end;
except
on e:EZeroDivide do
// Manejo de la excepcin Divisin por cero.
on e:Exception do
// Manejo de una excepcin "genrica".
end;
end;

Pascal[editar]

Var i,X,Y:Entero ' Declaramos las variables a utilizar


AdmErr ' Administrar Error
Resultado = X \ Y
Controlar i ' Controlar si existe (i obtiene el valor de la excepcin)

Seleccionar i
Caso errEntDivCero ' Si i es igual a Divicin a cero.
Mensaje("Divisin a cero!")
Caso Otro
Salir AdmErr
FinSeleccionar
FinAdmErr ' Fin Administrar Error

Python[editar]

try:
result = x / y
except ZeroDivisionError:
print "division by zero!"
else:
print "result is", result
finally:
print "executing finally clause"

Ada[editar]

type T_Matriz is array (Positive range <>,


Positive range <>) of Integer;
procedure Rellenar_Matriz
(Matriz : in T_Matriz;
K

: in Integer;

: in Integer);

is
begin
begin
Matriz (K,Q) := 3;
exception
when Constraint_Error =>
Put_Line ("Las posiciones se salen del rango de la matriz");
end;
end Rellenar_Matriz;

Enlaces externos[editar]

Introduccin al manejo de excepciones en C.

exceptions4c: Una biblioteca de manejo de excepciones para C.

Tratamiento de excepciones en Java.

Vous aimerez peut-être aussi