Está en la página 1de 12

Código:

Dirección Académica CPE-FO-02-03


Revisión: 1

MANUAL DE PRÁCTICAS Página:


1 de 63

CARRERA: ING SISTEMAS COMPUTACIONALES “2A”

MATERIA: PROGRAMACIÓN ORIENTADA A OBJETOS

NOMBRE DE LA ACTIVIDAD:
PRACTICA 7. Manejo de excepciones

NOMBRE DE LOS INTEGRANTES:


7026 FRANCISCO JOSUE HUCHIN UC
7032 JAIRO ABIMAEL CEH KOYOC
7008 ALDO JAVIER EUAN CHABLE
GRADO: 2º GRUPO: “A”

CICLO ESCOLAR
20192020P

CALKINÍ, CAMPECHE, MÉXICO


Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


2 de 63

PRACTICA 7. MANEJO DE EXCEPCIONES

-INTRODUCCIÓN
En Java una excepción es un error o una condición anormal que se ha producido durante la ejecución
de un programa. Java tiene diferentes tipos de excepciones: excepciones de I/O, las excepciones en
tiempo de ejecución y las de su propia creación. Durante la compilación solamente se detectan los
errores de sintaxis, pero el manejo de excepciones de Java permite el manipular los errores que
ocurren en tiempo de ejecución, entre estas podemos mencionar las excepciones aritméticas
(división entre cero), excepciones de puntero (acceso a punteros NULL) y excepciones de indexación
(acceso por encima o debajo de los límites de un vector). Algunas excepciones son fatales y causan
el fin de la ejecución del programa. En este caso conviene terminar ordenadamente y enviar un
mensaje explicando el tipo de error que se ha producido. En otras situaciones, por ejemplo, cuando
no se encuentra un archivo sobre el que se desea realizar una operación, el programa puede dar al
usuario la oportunidad de corregir el error. Un buen programa debe manejar correctamente la
mayoría de los errores que se puedan producir, Java proporciona las siguientes herramientas para
el manejo de excepciones: try, catch, throw, throws y finally.
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


3 de 63

Thrownable
Clase base que representa todo lo que se puede “lanzar” en java, contiene una el estado de la pila
en el momento en que se genera la excepción (stack trace o call chain), almacena un mensaje de
tipo String que se puede utilizar para detallar que excepción se generó.

Error
Subclase de Thrownable que indica problemas graves de los cuales una aplicación no se puede
recuperar, por ejemplo: Memoria Agotada, error de la máquina virtual.

Exception
Situaciones más o menos habituales que impiden completar la ejecución correcta del código.
Generalmente el programador debe proporcionar el código que las trate o gestione.

Predefinidas en el sistema
Se lanzan automáticamente cuando se realiza alguna operación no valida
- Acceso a un objeto que no existe,
- Acceso a una posición de un array que no existe,
- División por cero
Generadas por el programador
El programa explícitamente genera una excepción al detectar una situación de error que no se
puede resolver en ese contexto, útil en situaciones de prueba y depuración.

Elementos para gestionar excepciones


try
- Es el bloque de código donde se prevé que se genere una excepción
- Debe ir seguido por lo menos por una instrucción catch o finally
catch (TipoExcepcion e)
- Es el código que se ejecuta cuando se produce la excepción del tipo indicado
- Pueden aparecer varias instrucciones catch para tratar distintas excepciones
- Cuando se produce una excepción se compara si coincide con la excepción del primer catch.
Si no coincide con la del segundo y sucesivos
finally
Muchas veces, cuando se produce una excepción es necesario un mecanismo que limpie el estado
del método antes de que el control pase a otra parte del programa. Por ejemplo, una excepción
podría causar un error que termine el método actual, pero tal vez antes sea necesario cerrar un
archivo o una conexión a red. En Java esto se puede hacer esto encerrando el código de limpieza
dentro de un bloque finally. El formato general de un try/catch que incluye finally es:
try{
código que produce la (s) excepción (es)...
}
catch( TipoDeExcepcion objeto){
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


4 de 63

// Código para manejar la excepción


}
finally{
// código de finally
}

throws
- Indica que el código producirá una excepción, que no se tratará dentro de él y se pasará al
método superior, utilizando la cláusula throws.
public void ejemploExcep () throws IOException
- A continuación de la palabra reservada throws aparece una lista de todas las excepciones
que se pueden dar dentro del método que serán lanzadas y no serán gestionadas.

-OBJETIVO

Identificar, manejar, gestionar y crear las condiciones de error que interrumpan el flujo normal de
ejecución de un programa.

-LUGAR

Sala de Cómputo

-SEMANA DE EJECUCIÓN

Semana 11

- MATERIAL Y EQUIPO

Equipo de cómputo

Editor de texto (Bloc de notas,vi, gedit, scite)

Eclipse
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


5 de 63

-DESARROLLO DE LA PRÁCTICA

Planteamiento del problema

Eduardo se encontraba realizando su tarea de matemáticas, le tocaba realizar divisiones entre


diferentes cantidades y almacenar los resultados en un arreglo. Tu trabajo fue realizar un
programa que permitiera leer dos cantidades y validar que fueran números enteros no mayores
de 100. Tu trabajo es implementar en este programa el manejo de excepciones Aritméticas y
definidas por el usuario.

Paso 1. Crear la clase para realizar las operaciones de división, almacenamiento y visualización
de los datos.

Paso 2. Utilizar las excepciones para tratar desde el método dividir la excepción
AritmeticException
Como se muestra acontinuación:
try{
//bloque de código que genera la excepcion
} catch(ArithmeticException excepcion){
System.out.println(" Mensaje de error");}
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


6 de 63

Paso 2. Genere una excepción propia para controlar que los números no sean mayores
de 100
De acuerdo a lo siguiente:
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


7 de 63

a) Declare una clase que herede de Exception para crear la excepción propia con el
nombre ValorFueraDeRango e incluya código para enviar un mensaje al usuario.
class ValorFueraDeRango extends Exception {
// código del mensaje al usuario}

b) Cree la instrucción para validar el valor proporcionado por el usuario y que se genere la
excepción utilizando la siguiente línea de instrucción.
throw ValorFueraDeRango;

c) Lanza la excepción fuera del método para que sea capturada desde el lugar que fue
invocada utilizando la sentencia throws ValorFueraDeRango al final del nombre del
método
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


8 de 63

d) Captura la excepción y despliegue el mensaje correspondiente para que se pueda


solicitar de nuevo el valor.

e) Maneje las excepciones que se pueden generar cuando se almacene información en el


arreglo colocando lo mensajes correspondientes.
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


9 de 63

f) Implemente en uno de los bloques de excepciones la sentencia finally y el método


stackTrace() para mostrar los elementos de la pila.

Programa ejecutándose:
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


10 de 63
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


11 de 63
Código:
Dirección Académica CPE-FO-02-03
Revisión: 1

MANUAL DE PRÁCTICAS Página:


12 de 63

- EVALUACIÓN Y RESULTADOS

Criterio Puntaje Puntaje Obtenido

Análisis del Problema 15 10

Se crean la clase con los métodos solicitados 80 80

Se crea el código para manejar la Excepción Aritmética

Se crea la clase ValorFueraDeRango con el mensaje

propio Se genera la excepción ValorFueraDeRango

Se lanza la excepción fuera del método

Se trata la excepción en el bloque donde fue invocado

Se escribe el código para tratar y manejar excepciones sobre el


arreglo de almacenamiento

Implementa el bloque finally y el método printStackTrace

2 2
Comunicación oral y escrita con habilidades de investigación

Habilidades de Organización con uso de Tics y trabajo 3 0


en equipo
TOTAL 100 92

El alumno deberá presentar los códigos fuente generados para solucionar el problema y las
pantallas de resultado en un informe.

También podría gustarte