Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones



Documentos relacionados
Uso de excepciones en Java

EXCEPCIONES EN JAVA. Las sentencias que tratan las excepciones son try y catch. La sintaxis es:

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones

Tema 14: Excepciones

Introducción - por qué usarlas?(1)

TEMA 5. EXCEPCIONES EN JAVA DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS

Programación Orientada a Objetos en Java

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Programación Orientada a Objetos en Java

Solución al Examen de Prácticas de Programación (Ingeniería Informática)

Curso de Java POO: Programación orientada a objetos

Práctica: Creación de un programa C# sencillo

Benemérita Universidad Autónoma del Estado de Puebla

Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática

Java: control de excepciones

Modelo de Objetos Distribuidos

Programación orientada a objetos

Ingeniería del Software Arquitectura Física en 3 niveles

Edición de Ofertas Excel Manual de Usuario

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Programación Orientada a Objetos con Java

Práctica 2: Java Remote Method Invocation (RMI)

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

BPMN básico. Clase Modelos de Procesos. Javier Bermudez

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Las clases Java Socket y ServerSocket

Parte I: Programación en un lenguaje orientado a objetos

SIIGO Pyme. Procesos Gestión de Ventas. Cartilla I

Curso Online de Programación Java

MANUAL CIERRE CONTABLE

Excepciones. Una excepción es una situación anómala a la que llega la ejecución de un programa

EJEMPLOS PROGRAMACIÓN SOCKET - JAVA

Curso de Python Inicial

Programación Avanzada Ingeniería Civil en Computación

Resumen Manejo de Excepciones

Introducción a Protégé

Modulo 1 El lenguaje Java

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Práctica sobre compartición de instancias remotas.

Copia de Seguridad en windows

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Inicio Programas Accesorios Explorador de Windows Archivo Nuevo Carpeta

Opciones Bandeja de Entrada Workflow. Mantenimiento Proyecto Génesis. Universidad Complutense de Madrid

Sistema de Liquidación Directa

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

TPVFÁCIL. Caja Real. Definiciones.

Manejo de Excepciones

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Manual del Protocolo XML-RPC de Mensajería Negocios

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Proyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano

Clases y Objetos. Informática II Ingeniería Electrónica

MONTAR GVSIG 1.9 EN ECLIPSE DESDE EL REPOSITORIO SVN. Eduardo Cristóbal

Introducción Descripción del servicio

Concurrencia. Primitivas IPC con bloqueo

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

Examen de Prácticas de Programación Ingeniería Informática

efactura Online La fibra no tiene competencia

Repaso de las características más importantes de la programación Java y su adaptación a Android

PREVISIONES DE TESORERÍA

Constructores y Destructores

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0):

Generador de Proxy remoto JavaScript.

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Java Inicial (20 horas)

CIERRE EJERCICIO CON BECONTA

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Guía de instalación del software de la asignatura

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña

Llamada a métodos remotos (RMI). Curso 04/05. Tema 9. Departament d Informàtica. Universitat de València. 1. Introducción 2

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Instalación Tacotel Lector Documentación Sistemas

MANUAL DE CONFIGURACIÓN PARA EL ACCESO A RECURSOS-e RED DE BIBLIOTECAS DEL INSTITUTO CERVANTES

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

2. Almacén. 2.1 Paso a Histórico a Fecha. 2.2 Mantenimiento de Productos Ocultar datos

Manejo de Excepciones

Concurrencia en Java

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Uso de Visual C++ Pre-Practica No. 3

El lenguaje de programación Java

1 HILOS (THREADS) EN JAVA

Excepciones. Excepciones

Almacenamiento virtual de sitios web HOSTS VIRTUALES

MANUAL WEBSOPORTE DE IRIS-EKAMAT

Introducción a la Programación Orientada a Objetos

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1

H E R R A M I E N T A S D E A N Á L I S I S D E D A T O S HERRAMIENTAS DE ANÁLISIS DE DATOS

Transcripción:

Programación Orientada a Objetos en Java Curso 2006-2007 Tema 6 Excepciones Gonzalo Méndez Pozo Dpto. de Ingeniería de Software e Inteligencia Artificial Universidad Complutense de Madrid Qué son? Excepciones Mecanismo de control de errores en tiempo de ejecución Una forma de hacer que la aplicación continúe la ejecución si se produce un error Qué sucede si no se puede abrir un fichero? Qué pasa si un socket se cierra de manera inesperada? Y si dividimos por cero? 1

Para qué sirven? Excepciones A veces se usan para detectar situaciones inusuales en la ejecución Si se controlan todos los posibles errores directamente, el código se puede volver ilegible Con las excepciones se separa el código de un método del código que controla los errores Excepciones Como casi todo lo demás en java, las excepciones son objetos (que se crean cuando ocurre una situación anómala) Se lanzan para que otra parte del código las capture y las trate 2

Jerarquía de Excepciones Object Throwable Error Exception Jerarquía de Excepciones Las excepciones que se derivan de Error suelen estar relacionadas con la máquina virtual y no se espera que se capturen ni se traten Las Excepciones derivadas de Exception sí que deben ser tratadas, y en algunos casos es obligatorio hacerlo para que el programa compile 3

Jerarquía de Excepciones No es necesario tratar las Excepciones que derivan de RuntimeException: ArithmeticException IndexOutOfBoundsException NullPointerException SecurityException Tratamiento de Excepciones El código que puede generar la excepción debe encerrarse dentro de un bloque // Código que puede generar la excepción A continuación, la excepción se captura con un bloque catch catch (Exception e) // Código para tratar el error 4

Tratamiento de Excepciones El código dentro del puede generar más de una excepción, y se pueden capturar todas ellas //Código que puede provocar el error catch(ioexception ioe) //Código para tratar la IOException catch(exception e) //Código para tratar la Exception Tratamiento de Excepciones Se puede capturar una excepción utilizando un tipo de excepción más general //Código que produce una excepción de tipo IOException catch (Exception e) //Código para tratar una Exception 5

Tratamiento de Excepciones Esto último se puede hacer gracias a que unas excepciones heredan de otras Sólo se puede hacer con excepciones dentro de la misma jerarquía Sirve para tratar de manera común varios tipos de excepciones distintos Tratamiento de Excepciones CUIDADO: Si un bloque de código lanza varias excepciones y se usan varios catch La excepción se captura en el primer catch que se ajusta a la excepción Los catch deben capturar las excepciones más concretas en primer lugar, y las más generales al final Si no lo hacemos así, hay bloques catch en los que no se entrará nunca 6

Tratamiento de Excepciones //código que genera //excepciones catch(ioexception ioe) //catch accesible catch (Exception e) //catch accesible //código que genera //excepciones catch(exception e) //catch accesible catch (IOException ioe) //catch NO accesible Tratamiento de Excepciones A veces, cuando se produce una excepción, la aplicación queda es un estado inestable Al tratamiento de una excepción se le puede añadir al final un bloque finally que se ejecuta siempre, se produzcan o no excepciones Se puede usar para cerrar ficheros, liberar recursos, etc. 7

Tratamiento de Excepciones //código que genera excepciones catch(ioexception ioe) //tratamiento de la excepción finally //código que se ejecuta siempre Tratamiento de Excepciones Si una excepción no se captura se propaga hacia el método llamante, para que éste la trate Si no la trata, se sigue propagando hasta llegar al main Si en el main tampoco se trata, se aborta la ejecución del programa 8

Lanzar Excepciones Parte del tratamiento de una excepción puede incluir la propagación de la misma para que también la traten los métodos llamantes También puede suceder que queramos que nuestro código lance una excepción en una situación determinada En ambos casos es necesario decir que el método puede lanzar una excepción Lanzar Excepciones Esto se hace utilizando la palabra reservada throws en la cabecera del método public void mimetodo() throws ArithmeticException Posteriormente, en el código, se puede lanzar una excepción usando la palabra reservada throw catch (IOException ioe) throw ioe; throw new NullPointerException(); 9

Crear Nuevas Excepciones Se pueden crear nuevas excepciones creando una nueva clase que herede de Exception Se suele añadir un constructor por defecto y otro que acepta un String Llamar al constructor de Exception desde el constructor de la nueva clase Si hace falta, añadir atributos, otros constructores y otros métodos 10