EXCEPCIONES UNIDAD 5.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Introducción a C#.
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.
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Introducción a la programación en JAVA
Programación Interactiva Manejo de Excepciones
Tablas. Descripción general Introducción a las tablas Creación de tablas Uso de tablas.
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:.
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
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
Genéricos en Java Jaime Ramírez, Ángel Lucas González
UNIVERSIDAD LATINA (UNILA)
RMI (Remote Method Invocation)
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
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.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
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.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Unidad I Java y C++ : Similitudes y diferencias
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.
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
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
7. Interfaces Herencia múltiple Interfaces Comparable y Comparator
Tema 11: Excepciones Antonio J. Sierra.
Patrones Creacionales
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
El lenguaje de programación Java
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 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.
Programación orientada a objetos Capítulo 12 Manejo de errores.
Detalles Generales sobre Java
Tratamiento de excepciones
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos.
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.
:: 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.
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,
Manejo de Excepciones made by cristhian.. !!.  Errores que se pueden producir durante la ejecucion de una aplicacion y que podemos controlar o manejar.
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:

EXCEPCIONES UNIDAD 5

EXCEPCION Una excepción es una situación anómala que puede producirse durante la ejecución de un programa, como puede ser un intento de división entre 0, un acceso a posiciones de un arreglo fuera de los limites del mismo o un fallo durante la lectura de datos de la entrada/salida

Mediante la captura de excepciones Java proporciona un mecanismo que permite al programa sobreponerse a estas situaciones, pudiendo el programador decidir las acciones a realzar para cada tipo de excepción que pueda ocurrir.

Excepciones vs Errores Además de las excepciones en un programa Java pueden producirse errores. Un error representa una situación anormal irreversible. Las excepciones se representan por una subclase de Exception, mientras los errores son subclase Error. Exception y Error son subclases de Throwable

Superclases de Excepciones y Errores Object Throwable Exception Error

CLASES DE EXCEPCIONES Al producirse una excepcion en un programa, se crea un objeto de la subclase Exception a la que pertenece la excepcion.

Jerarquia de clases de excepcion Runtime Exception IO Excepcion SQL Excepcion ArithmetcException Null Pointer Exception IndexOutOf Bounds Exception ClassCast Exception .

TIPOS DE EXCEPCIONES Desde el punto de vista del tratamiento de una excepcion dentro de un programa las excepciones se dividen en dos grandes grupos: Excepciones marcadas Excepciones no marcadas

EXCEPCIONES MARCADAS Son aquellas cuya captura es obligatoria. Este tipo de excepciones se producen al invocar ciertos métodos de determinadas clases y son generadas desde el interior de los métodos como consecuencia de un fallo durante la ejecución de los mismos. Todas las excepciones, excepto RuntimeException y sus subclases pertenecen a este tipo

Ejemplo de IO Exception Ejemplo de IO Exception. Esta excepcion es lanzada por el metodo readLine() de la clase BufferREader cuando se produce un error durante la ejecucion de la lectura, lo que obliga al programa que va a usar a capturar dicha excepcion.

Si en un bloque de codigo se invoca lagun metodo que produce una excepcion marcada y esta no se captura, el programa no compilara.

CAPTURA DE UNA EXCEPCION Los métodos que provocan excepciones marcadas deben de declarar estas en la definición del método. Para declarar una excepción se utiliza la palabra thorws, seguidas pro las excepciones del método que puede provocar

public String readLine() throws IOException public void service (…) throws Servlet, IOException

Excepciones no marcadas Pertenecen a este grupo todas las excepciones de tiempo de ejecución, es decir, RuntimeException y todas las subclases. No es obligatorio capturar dentro de un programa Java una excepción no marcada. El motivo es que gran parte de ellas (NullPoinerException, ClassException, etc.) se producen como consecuencia de una mala programación, por lo que la solución es evitar que se produzca.

Las excepciones de tipo ArithmeticException es recomendable capturarlas. Si durante la ejecución de un programa Java se produce una excepción y esta no es capturada, la Maquina virtual provoca la finalización inmediata del mismo, enviando a la consola el volcado de pila con los datos de la excepción a la consola

public static void main(String[] argas) int k=4/0; } Ejemplo: public class Division { public static void main(String[] argas) int k=4/0; } Volcado de pila C:\JBuilder9\ejercicios\pruebas\excepciones\classses> java Division Exception in thread “main java.lang.ArithmeticException: / by zero C:\JBuilder9\ejercicios\pruebas\excepciones\classses> _

CAPTURA DE EXCEPCIONES El mecanismo de captura de excepciones Java permite atrapar el objeto de excepción lanzado por la instrucción e indicar las diferentes acciones a realizar según la clase de excepción producida.

Execpciones vs Errores A diferencia de las excepciones, los errores representan fallos del sistema de los cuales el programa no se puede recuperar. Esto implica que no es obligatorio tratar un error en una aplicación Java.

Los bloques try..catch..finally Las instrucciones try, catch y finally proporcionan una forma elegante y estructurada de capturar excepciones dentro de un programa Java evitando la ulizacion de instrucciones de control qeu dificultarian la lectura del codigo y lo harian mas propenso a errores.

Try { //instrucciones donde se pueden producir erores } catch (TipoException1 arg) // Tratamiento excepcion1 Catch (Tipo excepcion2 arg) //Tratamiento excepcion2 . finally // instrucciones de ultima ejecucion

TRY El bloque try delimita aquella o aquellas instrucciones donde se puede producir una excepción. Cuando esto sucede, el control del programa se transfiere al bloque catch definido para el tipo de excepción que se ha producido, pasándole como parámetro la excepción lanzada. Opcionalmente se puede disponer de un bloque finally en el que se pueden definir un grupo de instrucciones de obligada ejecución.

CATCH Un bloque catch define las instrucciones que deberian de ejecutarse en caso que se produzca un determinado tipo de excepcion.

Utilizacion de catch Se pueden definir tantos bloques catch como se considere necesario. Cada bloque catch para tratar un tipo determinado de excepción. Un bloque catch sirve para capturar cualquier excepción que se corresponda con el tipo declarado

Se pueden definir tantos bloques catch como se considere necesario Se pueden definir tantos bloques catch como se considere necesario. (cada catch servira para tratar un tipo determinado de excepcion)

public class excepcion { public static void main(String[] args) try { int s=4/0; System.out.println("el programa sigue"); } catch (ArithmeticException e) System.out.println("Division por 0"); catch (Exception e) System.out.println("Excepcion general"); System.out.println("final del main");

Tras la ejecucion de un bloque catch, el control del programa nunca se devuelve al lugar donde se produjo la excepcion. En caso de que existan varios catch cuyas excepciones esten relacionadas por la herencia, los catch mas especificos deben ser situados por delante de los mas genericos, si no se producira un error.

Compila correctamente No compila try { . } catch (IOException e) catch (Exception e) try { . } catch (Exception e) catch (IOException e ) Error de compilacion

Si se produce una excepcion no marcada para la que no se ha definido bloque catch, esta sera propagada por la pila de llamadas hasta encontrar un punto donde se trate la excepcion.

Llada a metodo Metodo 1 Propagacion de la excepcion Metodo 2 Metodo n . .

Los bloques catch son opcionales Los bloques catch son opcionales. Siempre que exista un bloque finally, la creacion de un bloque catch de un try es opcional. Si no se cuenta con un bloque finally es necesario disponer del bloque catch.

Finally Su uso es opcional, el bloque finally se ejecutara tanto si se produce una excepcion o no, garantizando que un conjunto de instrucciones siempre sean ejecutadas.

public class excepcion { public static void main(String[] args) try { int s=4/0; System.out.println("el programa sigue"); } catch (ArithmeticException e) System.out.println("Division por 0"); catch (Exception e) System.out.println("Excepcion general"); finally System.out.println(“ejecucion del finally"); System.out.println("final del main");

Excepciones personalizadas

public class Cajero { public static void main(String[] args) Cuenta c=new Cuenta(); try c.ingresar(100); c.extraer(101); } catch (SaldoInsuficienteException e) System.out.println(e.getMessage());

public class Cuenta { double saldo; public Cuenta() saldo= 0; } public void ingresar(double c) saldo+=c; public void extraer( double c) throws SaldoInsuficienteException if(saldo<c) throw new SaldoInsuficienteException("numeros rojos"); else saldo-=c; public double getSaldo() return saldo; class SaldoInsuficienteException extends Exception public SaldoInsuficienteException(String mensaje) super(mensaje);