Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 04
Unidad 04
EXCEPCIONES
OBJETIVO ESPECÍFICO
El alumno reconocerá la importancia del manejo de excepciones, y será
capaz de manejar las herramientas necesarias para poder llevar a cabo su
planteamiento e implementación.
92
INTRODUCCIÓN
93
LO QUE SÉ
94
TEMARIO DETALLADO
(10 horas)
4.1. Definición
4.2. Sintaxis de excepciones
4.3. Tipos de excepciones
4.4. Implementación
95
4.1. Definición
Durante el desarrollo de aplicaciones se puede implementar lo que se
conoce como manejo de excepciones o manejo de riesgos.
96
Figura 4.1. Flujo de una excepción
Se puede separar el código que maneja los errores del resto del
código de la aplicación, ya que se puede tener una clase que lleve
a cabo el manejo de situaciones poco usuales dentro de la
aplicación.
Es posible agrupar los diferentes tipos de errores que pueden
presentarse y realizar una clara diferenciación entre ellos.
Eficiencia en la búsqueda, dentro de la pila de llamadas a los
diferentes métodos, hasta encontrar el que maneja la situación
97
ocurrida, ya que sólo los métodos que tienen que ver con el manejo
del error son los que entran en acción.
try {
1
Error en tiempo de ejecución. Es aquel error que se presenta cuando el programa se
está ejecutando, no es visible al programar ni al compilar el código fuente, si no hasta su
ejecución.
98
// Código posiblemente problemático
} catch( tipo_de_excepcion e) {
} catch( tipo_de_excepcion_mas_general e) {
} finally {
catch)
99
A continuación se presenta un ejemplo para entender la importancia del
manejo de excepciones dentro de la implementación de una aplicación.
Para ello, se abre un archivo y se lee su contenido. Primero se plantea el
pseudocódigo, sin llevar a cabo el manejo de las posibles excepciones
que pueden presentarse durante su ejecución:
leerArchivo {
abrir el archivo;
determinar su tamaño;
cerrar el archivo;
codigodeError leerArchivo{
inicializar codigodeError = 0;
abrir el archivo;
if(archivoAbierto){
if(obtenerLongitudDelArchivo){
if(obtenerSuficienteMemoria){
100
leer el archivo a memoria;
if(falloDeLectura){
codigodeError = −1;
else{
codigodeError = −2;
else{
codigodeError = −3;
cerrar el archivo;
codigodeError = −4;
else{
else{
codigodeError = −5;
101
}
return codigodeError;
102
Figura 4.2. Tipos de excepciones
103
4.4. Implementación
Para llevar a cabo la implementación del tratamiento de excepciones, es
conveniente tener en cuenta la sintaxis planteada del tipo: try-catch-finally.
leerArchivo{
try{
abrir el archivo;
determinar su tamaño;
cerrar el archivo;
catch(falloAbrirArchivo){
hacerAlgo;
catch(falloDeterminacionTamaño){
hacerAlgo;
catch(falloAsignaciondeMemoria){
hacerAlgo;
104
}
catch(falloLectura){
hacerAlgo;
catch(falloCerrarArchivo){
hacerAlgo;
if ( condicion_de_excepcion == true ) {
105
Y, para el caso de la llamada a varios bloques de código que pueden
llevar a cabo el manejo de la excepción, se indica el tipo de dato devuelto
por el manejo de excepciones, y el método que manda a llamar a los
diferentes bloques de código que pueden manejar la excepción se le
conoce como método lanzador (el que lanza o inicializa la llamada a las
excepciones); por lo anterior se tiene:
106
RESUMEN
Revisamos la manera de llevar a cabo el manejo de posibles errores en la
ejecución de una aplicación, así como las ventajas que representa contar
–en esos casos- con una salida adecuada para el usuario.
Hay que recordar que existe una jerarquía para la ejecución de los
bloques try-catch-finally, teniendo en cuenta que pueden presentarse
varios casos para la parte catch y se buscará -entre ellos- el que pueda
controlar esa situación.
107
GLOSARIO
Excepción
Evento que ocurre durante la ejecución de una aplicación y que interrumpe
el flujo normal de ella; este evento puede ser controlado.
Manejo de excepción
Código dentro de la aplicación que permite manejar los errores que
pueden presentarse durante la ejecución de la aplicación
108
ACTIVIDADES DE APRENDIZAJE
ACTIVIDAD 1
En el siguiente código fuente no se está llevando a cabo el manejo de
excepciones. El código realiza la división de 2 números proporcionados
por el usuario. Indica qué posibles fallos pueden presentarse y argumenta
al respecto.
String str1="12";
String str2="0";
String respuesta;
numerador=Integer.parseInt(str1);
denominador=Integer.parseInt(str2);
cociente=numerador/denominador;
respuesta=String.valueOf(cociente);
System.out.println(respuesta);
109
Guarda el archivo como excepcion.txt y colócalo en la plataforma. Para
ello, presiona el botón Examinar para localizar el archivo en tu
computadora y por último presiona Subir este archivo.
ACTIVIDAD 2
Toma en cuenta que los mensajes deben ser claros y el lenguaje debe ser
orientado a usuarios no especializados (alumnos en proceso de
inscripción a un nuevo semestre).
110
ACTIVIDAD 3
ACTIVIDAD 4
111
CUESTIONARIO DE
REFORZAMIENTO
112
9. Indica los dos tipos generales de excepciones que existen en el
lenguaje de programación Java.
10. Proporciona un ejemplo en código de lenguaje Java en la cual se haga
el manejo de una excepción.
113
LO QUE APRENDÍ
114
EXAMEN DE AUTOEVALUACIÓN
Verdadera Falsa
1. El manejo de excepciones impide que el programa ( ) ( )
falle.
2. Una excepción sólo muestra los errores en pantalla ( ) ( )
para depurar una aplicación.
3. Las excepciones sólo se pueden implementar en ( ) ( )
lenguaje de programación Java.
4. Para llevar a cabo el manejo de excepciones, es ( ) ( )
necesario conocer los posibles fallos que pueden
presentarse.
5. No todas las aplicaciones requieren llevar a cabo el ( ) ( )
manejo de excepciones.
6. Es necesario programar toda una clase para llevar ( ) ( )
a cabo el manejo de excepciones.
7. Un método no puede incluir manejo de ( ) ( )
excepciones.
8. Al realizar el manejo de excepciones sólo hay que ( ) ( )
tomar en cuenta código programado por otras
personas.
9. El manejo de excepciones no debe proporcionar ( ) ( )
información del sistema a los usuarios.
115
10. La sintaxis para el tratamiento de una excepción ( ) ( )
en el lenguaje de programación Java consiste en la
forma try - catch – finally.
116
MESOGRAFÍA
Bibliografía sugerida
Bibliografía Básica
Sierra, Kathy & Bates, Bert. (2005). Head First Java. (2nd ed.) O’Reilly:
Sebastopol, CA. [Vista previa]
Bibliografía Complementaria
Eckel, Bruce. (2006). Thinking in Java. (4th ed.) Prentice Hall: Nueva York,
NY. [Vista previa]
117
Sitios de Internet
Sitio Descripción
http://prograweb.com.mx/poo/07Exce Tratamiento de excepciones con
pciones.html Java
http://chuwiki.chuidiang.org/index.ph Excepciones en Java
p?title=Excepciones_en_Java#Heren
cia_de_Excepciones
http://docs.oracle.com/javase/6/docs/ Documentación para excepciones
api/java/lang/Exception.html de Java
http://es.debugmodeon.com/articulo/ Manejo de excepciones en Java
manejo-de-excepciones-y-errores-en-
una-arquitectura-java
http://www.tecn.upf.es/~bouayad/pro Manejo de excepciones
g/material/teoria/streams/exceptions.
pdf
http://www.mitecnologico.com/Main/ Programación orientada a objetos
ExcepcionesDefinicion con Java
118