INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.

Slides:



Advertisements
Presentaciones similares
UNIVERSIDAD PRIVADA SAN PEDRO ESCUELA INGENIERIA CIVIL
Advertisements

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.
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.
Introducción a la programación en JAVA
EXCEPCIONES UNIDAD 5.
Programación Interactiva Manejo de Excepciones
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
PROGRAMACIÓN ORIENTADA A OBJETOS EN 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.
Programación en Java Instructor:.
MANEJO DE EXCEPCIONES EN C++
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
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
UNIVERSIDAD LATINA (UNILA)
Rosalía Laza Fidalgo Reyes Pavón Rial Curso
HERENCIA.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
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
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
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.
Public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = ;// miembro constante public float.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
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.
Clase Teórica No. 4 Programación IV
Tema 11: Excepciones Antonio J. Sierra.
Patrones Creacionales
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
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.
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.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Java.
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.
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
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
:: 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.
SCITMina | by Microsoft Bienvenidos Eduardo Daniel Tenorio Mayo Microsoft Student Partner Taller de Programación Orientada a Objetos Con C# Edgar Edel.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
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,
Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008

CONTENIDO Fundamentos Tipos de excepción Excepciones no capturadas try y catch Claúsulas catch múltiples Sentencias try anidadas throw throws finally

Fundamentos Una excepción es una condición anormal que surge en una secuencia de código durante la ejecución. La gestión de excepciones de Java lleva la gestión del error en tiempo de ejecución al mundo orientado a objetos. Una excepción de Java es un objeto que describe una condición excepcional que se ha producido en un fragmento de código.

Tipos de excepción

Excepciones no capturadas (1) Los objetos de excepción los crea automáticamente el intérprete de Java como respuesta a alguna condición excepcional. Como ejemplo tomamos una división por cero. class Exc0{ public static void main(String args[]){ int d = 0; int a = 42 / d; }

Excepciones no capturadas (2) Cuando el intérprete de Java intenta ejecutar la división, observa que el denominador es cero y construye un nuevo objeto de excepción para que se detenga este código y se trate esta condición de error. Una vez detenido el flujo del código en el operador de división, se buscará en la pila de llamadas actual cualquier gestor de excepciones (pila que contiene un registro de las llamadas a método).

Excepciones no capturadas (3) Un gestor de excepciones es algo establecido para tratar inmediatamente la condición excepcional. Si no codificamos un gestor de excepciones, se ejecutará el gestor en tiempo de ejecución por defecto. El gestor por defecto imprime el valor String de la excepción y el trazado de la pila del lugar donde se produjo la excepción.

Excepciones no capturadas (4) class Exc0 { public static void main(String args[]) { int d = 0; int a= 42 / d; } c:\> java Exc0 java.lang.ArithmeticException: / by zero at Exc0.main(Exc0.java:4)

Excepciones no capturadas (5) class Excl { static void subroutine() { int d = 0; int a = l0 / d; } public static void main(String args[]) { Excl.subroutine(); } c:\> java Excl java.lang.ArithmeticException: / by zero at Excl.subroutine(Excl.java:4) at Excl.main(Excl.java:7)

try y catch (1) A menudo es más elegante y practico manejar la excepción. Se puede utilizar la palabra clave try para especificar un bloque de código que se debería proteger frente a todas las excepciones. A continuación inmediatamente del bloque try, se incluye la cláusula catch que especifica el tipo de excepción que se desea captar.

try y catch (2) ArithmeticException es una subclase especial de Exception, que describe más específicamente el tipo de error que se ha producido. El ámbito de la cláusula catch está restringido a las sentencias especificadas por la sentencia try precedente.

try y catch (3) class Exc2 { public static void main(String args[]) { try { int d = 0; int a = 42; } catch (ArithmeticException e) { System.out.println("división por cero"); } class Exc3 { public static void main(String args[]) { int d = 0; int a = 42; try { a = 42 / d; } catch (ArithmeticException e) { System.out.println("división por cero“); }

Cláusulas catch múltiples (1) En algunos casos, la misma secuencia de código puede activar más de una condición excepcional. Se pueden tener varias cláusulas catch. Se inspecciona cada uno de estos tipos de excepción en el orden en que están y el primero que coincida se ejecuta. Las clases de excepción más especificas se colocaran primero, dado que no se alcanzarán las subclases si están después de unas superclase.

Cláusulas catch múltiples (2) class MultiCatch { public static void main(String args[]) { try { int a= args.length; System.out.println("a = " + a); int b = 42 / a; int c[]={l}; c[42] = 99; } catch(ArithmeticException e) { System.out.println("div por 0: " + e); } catch(ArraylndexOutOfBoundsException e) { System.out.println("índice de matriz fuera de límites: "+e); } catch(Throwable t) { System.out.println("se ha obtenido t: " + t); }

Cláusulas catch múltiples (3) c:\> java MultiCatch a= 0 div por 0: java.lang.ArithmeticException: / by zero C:\> java MultiCatch 1 a= 1 índice de matriz fuera de límites: java.lang.ArraylndexOutOfBoundsException: 42

Sentencias try anidadas class MultiNest { static void procedure() { try { int c[]={l}; c[42] = 99; } catch ( ArrayIndexOutOfBoundsException e ) { system.out.println("indice de matriz fuera de limites: " + e); } public static void main(String args[]) { try { int a= args.lehgth; system.out.println("a = " + a) ; int b = 42 / a; procedure(); } catch(ArithmeticException e) { System.out.println("div por 0: " + e); } )

Throw (1) La sentencia throw se utiliza para lanzar explícitamente una excepción. En primer lugar, debe obtener un descriptor de una instancia de Throwable, mediante un parámetro en una cláusula catch, o cerrar una utilizando el operador new. esta es la forma general de una sentencia throw : throw InstanciaThrowable;

Throw (2) El flujo de la ejecución se detiene inmediatamente después de la sentencia throw, y no se llega a la sentencia siguiente. Se inspecciona el bloque try que la engloba más cercano para ver si tiene una cláusula catch cuyo tipo coincida con el de la instancia Throwable.

Throw (3) Si la encuentra, el control se transfiere a esa sentencia. Si no, se inspecciona el siguiente bloque try que la engloba, y así sucesivamente, hasta que el gestor de excepción más externo detiene el programa e imprime el trazado de la pila hasta la sentencia throw.

Throw (4) class ThrowDemo { static void demoproc() { try { throw new NullPointerException("demo"); } catch(NullPointerException e) { System.out.println("capturada dentro de demoproc"); throw e; } public static void main(String args[]) { try { demoproc(); } catch(NullPointerException e) { System.out.printin("capturada de nuevo: " + e); }

Throw (5) c:\> java ThrowDemo capturada dentro de demoproc capturada de nuevo: java.lang.Null.PointerException: demo

finally (1) A veces es necesario estar seguro de que se ejecutará un fragmento de código dado independientemente de que excepciones se provocan y capturan. Se puede utilizar la palabra clave finally para identificar dicho bloque de código. Incluso aunque no coincida ninguna de las cláusulas catch, se ejecutará el bloque finally antes del código que está después del final del bloque try completo.

finally (2) class FinallyDemo { static void procA() { try { System.out.println("dentro de procA") ; throw new RuntimeException("demo"); } finally { System.out.println("finally de procA"); } static void procB() { try { System.out.println("dentro de procB"); return; } finally { System.out.println("finally de procB"); } public static void main(String args[]) { try { procA(); } catch (Exception e) ; procB(); }