Sei sulla pagina 1di 7

Universidad de Oriente

Ncleo de Sucre
Departamento de Matemticas
Licenciatura en Informtica

Realizado por:
Valentina Azocar
Deisy Rincones
Francisco Snchez

Cuman, mayo de 2016

UNIDAD VI. Manejo de excepciones.


6.1 Concepto.
Una excepcin es un evento que ocurre durante la ejecucin de un
programa y detiene el flujo normal de la secuencia de instrucciones de ese
programa; en otras palabras, una excepcin es una condicin anormal que
surge en una secuencia de cdigo durante su ejecucin.
El manejo de excepciones se basa en que si una funcin detecta un
problema que no puede resolver se lanza (throw) un mecanismo de
tratamiento del problema. En general, se llama a una funcin que atrapar
(catch) y se har cargo de la excepcin.
Para el manejo de excepciones los lenguajes proveen ciertas
palabras reservadas, que nos permiten manejar las excepciones que puedan
surgir y tomar acciones de recuperacin para evitar la interrupcin del
programa o, al menos, para realizar algunas acciones adicionales antes de
interrumpir el programa
6.2 Errores.
En un programa podemos encontrarnos con distintos tipos de
errores pero a grandes rasgos podemos decir que todos los errores
pertenecen a una de las siguientes categoras.

Errores de sintaxis: estos errores son seguramente los ms simples


de resolver, pues son detectados por el intrprete (o por el compilador,

segn el tipo de lenguaje que estemos utilizando) al procesar el


cdigo fuente y generalmente son consecuencia de equivocaciones al
escribir el programa.

Errores semnticos: se dan cuando un programa, a pesar de no


generar mensajes de error, no produce el resultado esperado. Esto
puede deberse, por ejemplo, a un algoritmo incorrecto o a la omisin
de una sentencia.

Errores de ejecucin: estos errores aparecen durante la ejecucin


del programa y su origen puede ser diverso. En ocasiones pueden
producirse por un uso incorrecto del programa por parte del usuario,
por ejemplo si el usuario ingresa una cadena cuando se espera un
nmero.

En

otras

ocasiones

pueden

deberse

errores

de

programacin, por ejemplo si una funcin intenta acceder a la quinta


posicin de una lista de 3 elementos o realizar una divisin por cero.
Una causa comn de errores de ejecucin que generalmente excede
al programador y al usuario, son los recursos externos al programa,
por ejemplo si el programa intenta leer un archivo y el mismo se
encuentra daado.
Tanto a los errores de sintaxis como a los semnticos se los puede detectar y
corregir durante la construccin del programa ayudado por el intrprete y la

ejecucin de pruebas. Pero no ocurre esto con los errores de ejecucin ya


que no siempre es posible saber cundo ocurrirn y puede resultar muy
complejo (o incluso casi imposible) reproducirlos.
6.3 Propagacin de excepciones.

6.4 Asociacin de excepciones y manejadores.

6.5 Implementaciones y diferencias en por menos 3 lenguajes de


programacin
En el caso de Python, el manejo de excepciones se hace mediante los
bloques que utilizan las sentencias try, except y finally.

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 Divisin 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;

BIBLIOGRAFA
http://html.rincondelvago.com/manejo-de-excepciones.html
http://es.slideshare.net/nano_trujillo/manejo-de-excepciones

Potrebbero piacerti anche