Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión 1.0.2.

Slides:



Advertisements
Presentaciones similares
Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Advertisements

Ayudantía Pre-Actividad 5 Multimedios. Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones.
Exceptions y Assertions Introducción a la terminología Bloques: try, catch Uso de finally Bloques: try, catch, finally Categorías de Exceptions Excepciones.
EXCEPCIONES UNIDAD 5.
Programación Interactiva Manejo de Excepciones
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.
Programación en Java Instructor:.
MANEJO DE EXCEPCIONES EN C++
Curso de Java Estructura del Lenguaje
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
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)
Rosalía Laza Fidalgo Reyes Pavón Rial Curso
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
Manejo de excepciones en Java
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
Manejo de Excepciones Agustín J. González ELO329.
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
Tema 11: Excepciones Antonio J. Sierra.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
El lenguaje de programación Java
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 8 Excepciones y afirmaciones o invariantes.
Programación Orientada a Objetos Temario Excepciones – Definición. – Funcionalidad – Tipos de Excepciones – API de las Excepciones – Captura de Excepciones.
TÉCNICAS DE PROGRAMACIÓN Lenguaje Java Introducción a Java – 2 Daniel Finol.
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.
Refactoring, Reuso y Realidad M.C. Juan Carlos Olivares Rojas Mayo 2011.
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.
Módulo 8: Manejo de Errores y Excepciones
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.
Sintaxis Completa los siguientes esquemas: Esquema de excepción Excepción Definición Tipos Implementación En el lenguaje Java, excepción es un tipo de.
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.
Java.
ELO3291 Manejo de Excepciones Lectura sugerida de texto en linea: Eckel, Bruce. Thinking About C++, 2nd Edition, Prentice-Hall, Gratis en
Programación avanzada en Java Miguel Ángel Corella 26 de Septiembre de 2005.
Manejo de errores: Excepciones en Java
Programación orientada a objetos Capítulo 12 Manejo de errores.
Tratamiento de excepciones
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos.
ELO3291 Manejo de Excepciones Agustín J. González ELO329.
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.
Desarrollador Profesional de Juegos Programación III Unidad I El manejador universal.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
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,
Archivos de Propiedades
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Manejo de Excepciones made by cristhian.. !!.  Errores que se pueden producir durante la ejecucion de una aplicacion y que podemos controlar o manejar.
Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Criterios de ordenación y Guava Comparator, Comparable y Ordering Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión.
Tema 1: Concurrencia con Java
Lenguaje Java  Todo programa Java es compilado y después interpretado  Independencia de la plataforma Programa Java fichero.java Byte code fichero.class.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Diseño y Programación Orientada a Objetos
Manejo de errores: Excepciones en Java
Programación Orientada a Objetos
Programación Orientada a Objetos
Transcripción de la presentación:

Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión 1.0.2

PR5: Excepciones Índice  Excepciones en Java  Jerarquía  Nuevas excepciones  Lanzamiento de excepciones  Gestión de excepciones

PR5: Excepciones Excepciones en Java  Son estructuras de control  Alteran el flujo del programa en que se ejecutan.  Destinadas a la detección y recuperación de errores  Ante una situación inesperada en la aplicación se lanzará/elevará una excepción.  Las excepciones se representan mediante objetos  El API de Java tiene clases definidas para muchas de las excepciones más comunes (error en el manejo de ficheros, índice fuera de los límites de array o vector, error aritmético como división por cero…)  También podemos definir nuestras propias excepciones mediante la declaración de clases con tal fin.  Las excepciones son lanzadas por aquellos métodos en los que ocurre una situación anómala  Unas tienen que ser gestionadas obligatoriamente y otras no.

PR5: Excepciones Jerarquía de excepciones Object Throwable Exception Nuestras excepciones IOException FileNotFound Exception EOFException RuntimeException NullPointer Exception IndexOutOfBounds Exception Arithmetic Exception Nuestras excepciones Error... Excepciones que heredan de RuntimeException (unchecked exceptions) Excepciones que heredan de Exception (checked exceptions)

PR5: Excepciones Declaración de nuevas excepciones  Implementaremos las clases excepción basándonos en las ya definidas en el API mediante herencia  Excepción creada específicamente para una aplicación que hereda todas las características de las excepciones Java (capacidad para ser lanzada, capturada, gestionada…) public class EdadNegativaException extends RuntimeException { public EdadNegativa ( ) { super(); } public EdadNegativa (String texto ) { super(texto); } public class EdadNegativaException extends RuntimeException { public EdadNegativa ( ) { super(); } public EdadNegativa (String texto ) { super(texto); }

PR5: Excepciones Lanzamiento de excepciones  Lanzamiento automático por parte del sistema  Ante una situación de error el sistema lanzará una excepción lanza la excepción ArithmeticException public static void main(String[] args) { Integer n = 3/0; } public static void main(String[] args) { Integer n = 3/0; } Exception in thread "main" java.lang.ArithmeticException: / by zero at main(java:15) Exception in thread "main" java.lang.ArithmeticException: / by zero at main(java:15)

PR5: Excepciones Lanzamiento de excepciones  Lanzamiento de excepciones propias  Definimos nuestras propias excepciones e indicamos cuándo lanzarlas. La sintaxis para el lanzamiento de excepciones es: throw objetoExcepcion public void setEdad(Integer edad){ if (edad < 0){ throw new EdadNegativaException(“Edad menor que cero”); } this.edad = edad; objeto excepción } public void setEdad(Integer edad){ if (edad < 0){ throw new EdadNegativaException(“Edad menor que cero”); } this.edad = edad; objeto excepción }

PR5: Excepciones Lanzamiento de excepciones  Ejemplo de lanzamiento de la excepción Mensaje que se pasa como parámetro al constructor Exception in thread "main" EdadNegativaException: Edad menor que cero at Persona.Edad(java:67) at main(java:20) Exception in thread "main" EdadNegativaException: Edad menor que cero at Persona.Edad(java:67) at main(java:20) public static void main(String[] args) { Persona p = new PersonaImpl(); p.setEdad(-3); } public static void main(String[] args) { Persona p = new PersonaImpl(); p.setEdad(-3); }

PR5: Excepciones Gestión de excepciones  Distinguimos entre excepciones que hay que capturar obligatoriamente (heredan de Exception) y las que no (heredan de RuntimeException)  La captura de excepciones se hará mediante el bloque try/catch con la siguiente sintaxis: try{ sentencias susceptibles de generar excepciones } catch (ExceptionType1 e){ sentencias a ejecutar en caso de que se haya lanzado ExceptionType1 } catch (ExceptionType2 e){ sentencias a ejecutar en caso de que se haya lanzado ExceptionType2 } …. } finally { sentencias a ejecutar con cualquier excepción }

PR5: Excepciones Gestión de excepciones public static void main(String[] args) { Persona p = new PersonaImpl(); try { p.setEdad(-3); p.setAnioNacimiento(2015); } catch(EdadNegativaException e){ mostrar(“Se uso una edad no válida: ” + e); } catch(FechaNoValidaException e){ mostrar(“Se uso un anio incorrecta: ” + e); } finally{ mostrar(“Se usaron valores incorrectos para la persona p”); } public static void main(String[] args) { Persona p = new PersonaImpl(); try { p.setEdad(-3); p.setAnioNacimiento(2015); } catch(EdadNegativaException e){ mostrar(“Se uso una edad no válida: ” + e); } catch(FechaNoValidaException e){ mostrar(“Se uso un anio incorrecta: ” + e); } finally{ mostrar(“Se usaron valores incorrectos para la persona p”); }

PR5: Excepciones Gestión de excepciones  Para aquellas excepciones que hay que gestionar obligatoriamente (las que heredan de Exception) usaremos el bloque try/catch o bien la sentencia throws en la cabecera del método: public Punto clone(){ Punto copia=null; try{ copia = (Punto)super.clone(); }catch(CloneNotSupportedException e){e.printStackTrace();} return copia; } public Punto clone(){ Punto copia=null; try{ copia = (Punto)super.clone(); }catch(CloneNotSupportedException e){e.printStackTrace();} return copia; } public Punto clone() throws CloneNotSupportedException { Punto copia=null; copia = (Punto)super.clone(); return copia; } public Punto clone() throws CloneNotSupportedException { Punto copia=null; copia = (Punto)super.clone(); return copia; }