Escolar Documentos
Profissional Documentos
Cultura Documentos
- NOMBRE DE LA ASIGNATURA:
- (POO) Programacin Orientada a Objeto.
ALUMNO.
- Alcocer Chi Luis Guillermo.
-
- NOMBRE DEL DOCENTE:
MC. Arizb Del Socoro Arana Kantn.
16-06 2017
CONTENIDO.
Resumen capitulo 13 Manejo de excepciones.
(Libro deitel sptima edicin)
GRUPO B.
ArrayIndexOutOfBoundsException
Ocurre cuando hay un intento por acceder a un elemento ms all del fi n del arreglo.
Dicho problema puede ocurrir si hay un error de desplazamiento por 1 en una
instruccin for que manipula un arreglo.
ClassCastException
Ocurre cuando hay un intento por convertir un objeto que no tiene una relacin es un
con el tipo especificado en el operador de conversin.
NullPointerException
Ocurre cada vez que se utiliza una referencia null en donde se espera un objeto
java.lang.ArithmeticException
Indica el problema que ocurri y la pila de llamadas a mtodos completa (es decir, la
cadena de llamadas) al momento en que ocurri la excepcin
(/ by zero)
Indica que esta excepcin ocurri como resultado de un intento de dividir entre cero.
Java no permite la divisin entre cero en la aritmtica de enteros.
Java s permite la divisin entre cero con valores de punto flotante. Dicho clculo
produce como resultado el valor de infinito, que se representa en Java como un valor de
punto flotante (pero en realidad aparece como la cadena Infinity)
ArithmeticException.
Ocurre cuando el mtodo nextInt de Scanner recibe una cadena que no representa un
entero vlido.
Bloque try
Consiste en la palabra clave try seguida de un bloque de cdigo, encerrado entre llaves
({})
Bloque catch
(Tambin conocido como clusula catch o manejador de excepciones) atrapa (es decir,
recibe) y maneja una excepcin.
InputMismatchException
Por ejemplo:
Completar las operaciones de E/S de disco, la llegada de mensajes de red, clics del
ratn y pulsaciones de teclas, los cuales ocurren en paralelo con, y en forma
independiente de, el flujo de control del programa.
Los programas que obtienen ciertos tipos de recursos deben devolver esos recursos al
sistema en forma explcita, para evitar las denominadas fugas de recursos.
El uso de dos flujos distintos permite al programador separar fcilmente los mensajes
de error de cualquier otra informacin de salida.
Esta instruccin se ejecuta para indicar que ha ocurrido una excepcin. Hasta ahora
slo hemos atrapado las excepciones que lanzan los mtodos que son llamados. Los
programadores pueden lanzar excepciones mediante el uso de la instruccin throw. Al
igual que con las excepciones lanzadas por los mtodos de la API de Java, esto indica
a las aplicaciones cliente que ha ocurrido un error. Una instruccin throw especifi ca un
objeto que se lanzar. El operando de throw puede ser de cualquier clase derivada de
Throwable.
printStackTrace
getStackTrace
getMessage
Una excepcin que no sea atrapada en una aplicacin har que se ejecute el
manejador de excepciones predeterminado de Java. ste muestra el nombre de la
excepcin, un mensaje descriptivo que indica el problema que ocurri y un rastreo
completo de la pila de ejecucin. En una aplicacin con un solo subproceso de
ejecucin, la aplicacin termina. En una aplicacin con varios subprocesos, termina el
subproceso que produjo la excepcin.
Nunca ignore una excepcin que atrape. Por lo menos, use el mtodo printStackTrace
para imprimir un mensaje de error. Esto informar a los usuarios que existe un
problema, para que puedan tomar las acciones apropiadas
Algunas veces un bloque catch atrapa un tipo de excepcin y despus lanza una nueva
excepcin de un tipo distinto, para indicar que ocurri una excepcin especfica del
programa. En las primeras versiones de Java, no haba mecanismo para envolver la
informacin de la excepcin original con la informacin de la nueva excepcin, para
proporcionar un rastreo completo de la pila, indicando en dnde ocurri el problema
original en el programa.
Una nueva clase de excepcin debe extender a una clase de excepcin existente, para
poder asegurar que la clase pueda utilizarse con el mecanismo de manejo de
excepciones. Al igual que cualquier otra clase, una clase de excepcin puede contener
campos y mtodos. Sin embargo, una nueva clase de excepcin, por lo general,
contiene slo dos constructores; uno que no toma argumentos y pasa un mensaje de
excepcin predeterminado al constructor de la superclase, y otro que recibe un mensaje
de excepcin personalizado como una cadena y lo pasa al constructor de la superclase.
Precondiciones y poscondiciones
Aserciones
Al implementar y depurar una clase, algunas veces es conveniente establecer condiciones que
deban ser verdaderas en un punto especfico de un mtodo. Estas condiciones, conocidas
como aserciones, ayudan a asegurar la validez de un programa al atrapar los errores
potenciales e identificar los posibles errores lgicos durante el desarrollo.
assert expresin;
Esta instruccin evala expresin y lanza una excepcin AssertionError si la expresin es falsa.
La segunda forma es:
Esta instruccin evala expresin1 y lanza una excepcin AssertionError con expresin2 como
el mensaje de error, en caso de que expresin1 sea false.
En este captulo se aprendi a utilizar el manejo de excepciones para lidiar con los
errores en una aplicacin. Aprendi que el manejo de excepciones permite a los
programadores eliminar el cdigo para manejar errores de la lnea principal de
ejecucin del programa. Vio el manejo de errores en el contexto de un ejemplo de
divisin entre cero. Aprendi a utilizar los bloques try para encerrar cdigo que puede
lanzar una excepcin, y cmo utilizar los bloques catch para lidiar con las excepciones
que puedan surgir. Aprendi acerca del modelo de terminacin del manejo de
excepciones, que indica que una vez que se maneja una excepcin, el control del
programa no regresa al punto de lanzamiento. Conoci la diferencia entre las
excepciones verificadas y no verificadas, y cmo especificar mediante la clusula
throws que las excepciones especficas que ocurran en un mtodo sern lanzadas por
ese mtodo al mtodo que lo llam. Aprendi a utilizar el bloque finally para liberar
recursos, ya sea que ocurra o no una excepcin. Tambin aprendi a lanzar y volver a
lanzar excepciones. Despus, aprendi a obtener informacin acerca de una excepcin,
mediante el uso de los mtodos printStackTrace, getStackTrace y getMessage.