Capitulo 4 Excepciones.

Slides:



Advertisements
Presentaciones similares
Exceptions y Assertions Introducción a la terminología Bloques: try, catch Uso de finally Bloques: try, catch, finally Categorías de Exceptions Excepciones.
Advertisements

Curso de java básico (scjp)
Curso de Java Capitulo 7: Continuación Poo Profesor:
EXCEPCIONES UNIDAD 5.
Programación Interactiva Manejo de Excepciones
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Arquitectura CLARO-TECNOTREE
REFERENCIA AL OBJETO DE LA CLASE BASE
Programación en Java Instructor:.
Excepciones Las excepciones son señales (en forma de objeto) que se generan en ejecución en casos de errores, para que puedan ser gestionadas en el programa.
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD LATINA (UNILA)
RMI (Remote Method Invocation)
Aplicación del paradigma orientado a objetos
Diseño y programación de
Rosalía Laza Fidalgo Reyes Pavón Rial Curso
HERENCIA.
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Control de excepciones
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Manejo de excepciones en Java
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Medio de tele-comunicación
Lic. Rosemary Torrico Bascopé
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Manejo de Excepciones Agustín J. González ELO329.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Tema 11: Excepciones Antonio J. Sierra.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Lenguaje Java Fundamentos del lenguajes de programación
Programación Orientada a Objetos Temario Excepciones – Definición. – Funcionalidad – Tipos de Excepciones – API de las Excepciones – Captura de Excepciones.
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
USO DE EXCEPCIONES EN JAVA LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Programación orientada a objetos Capítulo 12 Manejo de errores.
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González.
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
Unidad III Manejo de Excepciones en Java y C++
Excepciones Unidad 5.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Programación Interactiva Manejo de Excepciones Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
Programación avanzada en Java Miguel Ángel Corella 26 de Septiembre de 2005.
Manejo de errores: Excepciones en Java
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Programación orientada a objetos Capítulo 12 Manejo de errores.
Programación orientada a objetos
Tratamiento de excepciones
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos.
Definición y cumplimiento de responsabilidades Giovanni Hernández P. Nivel 4.
MANEJO DE EXCEPCIONES. 21/11/2005 E.T.S de Ingenieros de Telecomunicacion.2 Índice ¿Qué es una excepción? Tipos de situaciones. Manejo de excepciones.
¿Qué son? – tipos – manejo - ejemplos
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Desarrollador Profesional de Juegos Programación III Unidad I Capturar Excepciones.
Clases “ Es una Abstracción de un elemento del mundo real ”
Desarrollador Profesional de Juegos Programación III Unidad I Excepciones Tipos.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión
Transcripción de la presentación:

Capitulo 4 Excepciones

Concepto Una excepción es una situación inesperada o inusual que interrumpe el normal funcionamiento del programa.

Captura de excepciones y manejadores En Java se maneja el concepto de región segura, que consiste en un bloque enmarcado por la palabra try. Los manejadores se ocupan de tratar las excepciones lanzadas dentro del bloque try. Estructura del bloque try: try{ //código que puede provocar excepciones } catch(ClaseException1 ex1){ //Código que maneja excepciones de la clase ClaseException1

Captura de excepciones y manejadores En Java todas las clases de excepciones derivan de la clase Exception. Como cualquier excepción puede ser capturada por un manejador diseñado para esta clase . La clase Exception hereda de la clase Throwable. Un método que debemos tener en cuenta es getMessage() que nos devuelve un String con una descripción de la excepción, lo que nos da más información sobre el error ocurrido. el método printStackTrace() imprime la pila del error, el trace completo del error.

Bloque de Finalización (finally) La porción de código que se encuentra dentro de este bloque, se ejecuta luego de los manejadores y antes de que se lancen excepciones al contexto de nivel superior. try{ //código que puede provocar excepciones } catch(ClaseException1 ex1){ //Código que maneja excepciones de la clase ClaseException1 catch(ClaseException2 ex2){ //Código que maneja excepciones de la clase ClaseException2 finally{ //Código que se ejecuta siempre, haya o no ocurrido excepciones

Lanzamiento de excepciones La idea central es que el código que encuentra un problema y no lo pueda tratar, lance una excepción, que será capturada por el módulo que invocó al método que está corriendo Cuando un método arroja excepciones, en Java es obligatorio decir que excepciones puede arrojar, esto permite al cliente de la clase saber que excepciones debe manejar. Se usa la cláusula throws para realizar esta especificación.

Lanzamiento de excepciones Es correcta esta definición: public void metodo(Persona p) { try{ //código que puede provocar excepciones } catch(NullPointerException ex1){ System.out.println(“Referencia Null: “+ex1.getMessage()); // Elevamos la misma exception throw ex1;

Lanzamiento de excepciones Y esta: public void metodo(Persona p) throws Exception{ try{ if(p==null) throw new Exception(“Referencia Null”); //Código propio del método } catch(Exception ex1){ System.out.println(“Referencia Null: “+ex1.getMessage()); // Elevamos la misma exception throw ex1;

Jerarquía de Excepciones La base de la jerarquía es la clase Throwable, de esta clase extienden las clases Error y Exception. Las excepciones de clases descendientes de Error indican problemas serios e irrecuperables. No podemos capturarlas cuando usamos la cláusula catch para una Exception genérica, por que no derivan de esta clase. No son comprobadas, en el sentido de no se declaran en la cláusula throws. No es bueno generar subclases de Error.

Jerarquía de Excepciones Las excepciones de clases descendientes de Exception representan problemas que si se pueden tratar. Nuestras propias excepciones, no deberíamos definirlas extendiéndolas de la clase RuntimeException, debido a que ni esta clase ni sus descendientes se declaran en cláusulas throws.

Jerarquía de Excepciones Podemos hablar de excepciones no chequeadas y excepciones chequeadas. Excepciones no chequeadas son aquellas excepciones que se producen por errores de programación y son producidas sólo en tiempo de ejecución. Las excepciones no chequeadas se corresponden con las subclases de RuntimeException y Error.

Jerarquía de Excepciones Las excepciones chequeadas, obligan a los métodos que realizan operaciones que pueden provocar este tipo de excepciones a que deban declarar los manejadores correspondientes o declarar que pueden lanzarlas Las excepciones chequedas tienen comprobación en tiempo compilación

Jerarquía de Excepciones Al especificar los manejadores para las excepciones se deben tener en cuenta los siguiente: Primero deben ir los manejadores de las clases de excepciones de la base de la jerarquía y luego los manejadores de las demás clases que están más arriba. ¿Es correcta esta estructura? try{ //código que puede lanzar excepciones } catch(Exception ex){ //manejador para excepciones del tipo Exception catch(NullPointerException ex){ //manejador para excepciones del tipo NullPointerException

Algunas excepciones.. ArithmeticException Esta excepción se produce cuando se da una condición anormal del tipo aritmética. Por ejemplo una división por cero. NullPointerException Excepción que se produce cuando se quiere acceder a algún miembro de un objeto que aún no ha sido instanciado. ClassCastException Se produce cuando se quiere hacer el moldeo de un objeto a otra clase que no es válida. NegativeArraySizeException Se lanza cuando se quiere crear un array con un tamaño negativo. OutOfMemoryException Ocurre cuando intentamos instanciar un objeto y no hay memoria disponible.

Mas excepciones.. ArrayIndexOutOfBoundsException Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array. NoClassDefFoundError Se intenta utilizar una clase que no está definida en el sistema. Existe una variable de sistema denominada CLASSPATH, que es donde se especifican las clases disponibles para que cualquier aplicación las consuma en tiempo de ejecución. Si en nuestra aplicación utilizamos una clase de alguna biblioteca y esta no está cargada en la variable CLASSPATH, en el momento utilizarla se lanzará esta excepción. InternalError Ocurre cuando se da un error inesperado a nivel de la máquina virtual. NoSuchMethodError Error que ocurre cuando se intenta acceder a un método de una clase, y el mismo no se encuentra definido

Excepciones Propias Java nos permite crear nuestras propias excepciones. Que debería hacer para lograrlo? Crear una clase que herede de Exception Esta clase debe contener dos constructores, uno sin parámetros y el otro recibirá el mensaje que va a devolver el objeto cuando se invoque el método getMessage sobre el mismo. También, estos dos constructores invocan a los respectivos constructores de la superclase Exception. Finalizar el nombre de las clases de excepciones con la palabra Exception.