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

Documentos relacionados
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Resumen Manejo de Excepciones

Excepciones en Programación Orientada a Objetos

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

Manejo de Excepciones

Formato para prácticas de laboratorio

CAPÍTULO 4: EXCEPCIONES EN JAVA

Tema 4. Excepciones en Java

Excepciones. Excepciones

TEMA 8. Agenda. Excepciones

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz

Uso de excepciones en Java

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

Manejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González

fundamentos de programación (unidad 7) herencia y relaciones entre clases

Manejo de errores: Excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos

Tema 14: Excepciones

Programación Orientada a Objetos. Java: Excepciones

Tema 5 Corrección y Robustez Excepciones en Java

INF 473 Desarrollo de Aplicaciones en Java

Programación Orientada a Objetos. Java: Excepciones

UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión

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

Reconociendo tipos de excepciones comunes

Si bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.

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

Java: control de excepciones

Ejercicios de tratamiento de errores

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.

Módulo 11: MANEJO DE EXCEPCIONES 11-1

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

Excepciones e hilos. Acceso a la red - Ejercicios

Manejo de Excepciones Para capturar y manejar las excepciones Java proporciona la sentencia try, catch y finalty. Entre un try y un catch se escribe

Excepciones LSUB, GSYC, URJC. Monday, February 4, 13

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

Tecnología de Programación

INTRODUCCION A LA PROGRAMACION EN JAVA

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Introducción a Java (2)

- Compilar y ejecutar programas en Java - Estructura básica de una clase - El comando javac - El comando java - Introducción al IDE de desarrollo

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

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

2016 CÁTEDRA DE LENGUAJE DE PROGRAMACIÓN JAVA

Un breve resumen del lenguaje Java

MASTER EN MODELIZACIÓN MATEMÁTICA, ESTADÍSTICA Y COMPUTACIÓN Curso: Bases de datos y programación orientada a objetos Parte POO

Tema 4: Control del flujo de ejecución: Excepciones y Threads. Programación Orientada a Objetos. Marcos López Sanz

Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;

Manejo de Excepciones

Java: control de excepciones

TÉCNICAS DE PROGRAMACIÓN Lenguaje Java

Flujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha

Objetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.

MANEJO DE EXCEPCIONES en C++ Dr. Oldemar Rodríguez R. Escuela de Informática Universidad Nacional

Estructura de las Aplicaciones Orientadas a Objetos Excepciones

INDICE Prologo 1 Recorrido rápido de java 2 Clases y objetos 3 Extensión de clases

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

APUNTES PROII 2º PARCIAL.

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011

Existen dos tipos de excepciones en Java: comprobadas y sin comprobar.

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Federico Peinado

Por el contrario System.in es un byte Stream sin caracteristicas de character Stream.

Arquitecturas cliente/servidor

JAVA: Excepciones. Errores

Tipos DataInputStream/DataOutputStream: L/E de datos de tipo simple y Cadenas (Strings) ObjectInputStream/ObjectOutputStream: para persistencia de obj

Construcciones del Lenguaje Java

Implementación de clientes con CORBA y Java

Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar

Curso de PHP. Pascual Gómez del Pino Página 1

Estructura de datos y Programación

Tema 2: Errores y Excepciones: Modelo y Gestión. Modelización Java de la Jerarquía de

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

JAVA 1. Introducción

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

Tema 6: Clases. Índice

Ejercicios resueltos de programación

Unidad VI. archivos de texto llano o texto simple por carecer de información destinada a generar formatos y tipos de letra.

Lenguaje de programación con JAVA

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Información de la lectura en un programa.

Ficheros y streams. Desde el punto de vista de Java, cada fichero no es más que una secuencia o flujo de bytes [stream].

Entrada y Salida de datos

Sebastián García Galán

Programación Java. Introducción a Archivos de datos de Entrada

Procesamiento distribuido en Java

Ejecución de hebras. En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura).

TutorJava recomienda...

a) Reescribir P1 introduciendo un error sintáctico (de compilación), otro de ejecución, y

4. Operadores Operador asignación

k. Son métodos de la clases y respectivamente, que analiza un para devolver un entero con

Examen Teórico Convocatoria de Junio de 2012

Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Curso Programación Java JSE 7

Guillermo Román Díez

Transcripción:

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

Utiliza las excepciones java. Una excepción es una condición anormal que se produce en una porción de código durante su ejecución. Es decir, es un evento que interrumpe el flujo normal de instrucciones durante la ejecución de un programa.

Las aplicaciones pueden producir muchas clases de errores de diversos niveles de seguridad: Un archivo que no puede encontrarse o que no existe. Un índice fuera de rango. Un enlace fuera de red que falla. Un fallo en un disco duro.

La existencia de las excepciones permite: Encapsular en clases los errores. Separar el flujo de ejecución normal del tratamiento de errores. Las excepciones se pueden: o tratar o re-lanzar para que sean tratadas por otro método del stack.

Necesidad de Tratar Errores Consideremos el pseudo-código del siguiente método que lee un archivo y copia su contenido en memoria. Qué pasa si no puede reservarse memoria suficiente? Qué pasa si el archivo no puede abrirse? leerarchivo{ abrir el archivo; determinar la longitud del archivo; reservar la memoria suficiente; copiar el archivo en memoria; cerrar el archivo; Qué pasa si el archivo no puede cerrarse? Qué pasa si falla la lectura?

Una Excepción: Gestión de Errores en Java Cuando ocurre un error en un método, éste crea un objeto exception y lo entrega al sistema de ejecución (lanza una excepción). Este objeto contiene información sobre el error, incluido su tipo y el estado del programa donde ocurrió. El sistema de ejecución recorre la pila de llamadas buscando un método que contenga un bloque de código que maneje la exception (manejador de excepción)

Llamadas a métodos Método donde ocurre el error. Método sin manejador de la exception Método con manejador de la exception main Búsqueda del manejador apropiado

Gestión de Errores en Java Manejo de Excepciones: Se manejan mediante bloques try & catch try { //código susceptible de lanzar una exception catch (tipo_exception e) { //código de tratamiento de la exception catch (tipo_exception e) { //código de tratamiento de la exception finally { //código que se ejecuta siempre

try: Es el bloque de código donde se prevé que se genere una excepción. El bloque try tiene que ir seguido, al menos, por una cláusula catch o una cláusula finally. catch: Es el código que se ejecuta cuando se produce la excepción. Es como si dijésemos "controlo cualquier excepción que coincida con mi argumento". En este bloque tendremos que asegurarnos de colocar código que no genere excepciones.

catch: Se pueden colocar sentencias catch sucesivas, cada una controlando una excepción diferente. No debería intentarse capturar todas las excepciones con una sola cláusula, como esta: catch( Excepcion e ) {... Esto representaría un uso demasiado general, podrían llegar muchas más excepciones de las esperadas. En este caso es mejor dejar que la excepción se propague hacia arriba y dar un mensaje de error al usuario.

finally: El bloque finally sirve para colocar en él instrucciones que se desea que se realicen siempre que se sale de un bloque try. Es opcional, pero pasa a ser obligatorio cuando el bloque try no va seguido por ninguna cláusula catch. Su función es la de dejar el programa en un estado correcto independientemente de lo que suceda dentro del bloque try (cerrar archivos, liberar recursos, )

Gestión de Errores en Java Tratamiento de las Excepciones: public void escribirlista{ PrintWriter out = null; try { out = new PrintWriter(new FileWriter( out.txt )); for (int i=0; i<size; i++) { out.println( valor: + i + = + v[i]); catch (ArrayIndexOutOfBoundsException e) { System.err.println( Indice fuera de rango ); catch (IOException e) { System.err.println( out.txt no puede ser abierto ); finally { if (out!= null) { out.close();

Tratamiento de las Excepciones: El bloque try puede terminar de cualquiera de las siguientes tres formas: La instrucción new FileWriter( out.txt ) falla y lanza una excepción IOException. La instrucción v[i] falla y lanza una excepción ArrayIndexOutOfBoundsException Todo va bien y el bloque try termina normalmente.

Lanzamiento de Excepciones: Un método indica que puede lanzar o (relanzar) una excepción mediante la palabra throws. Un método crea y lanza una excepción mediante la palabra throw. public class FileInputStream extends InputStream { public FileInputStream (File afile) throws IOException { if (..) { throw new IOException ( No existe el archivo );

Lanzamiento de Excepciones: public void pop() throws EmptyStackException { { if (size == 0) { throw new EmptyStackException(); setobjectat(size-1, null); size- -;

La clase Throwable y sus SubClases: Error Object Throwable Exception RuntimeException IOException InterruptedException La clase java.lang.throwable describe cualquier clase que puede ser lanzada como excepción.

Jerarquía de Clases: Existen dos tipos de clases Throwable: java.lang.error representa errores de compilación y errores del sistema. Abarca fallos graves de los que los programas no pueden recuperarse y, por tanto, no suelen ser capturadas por los mismos. java.lang.exception representa las excepciones generadas por la aplicación, por ende, las excepciones que los programas suelen capturar.

Jerarquía de Clases: java.lang.runtimeexception representa excepciones generadas por la aplicación cuya gestión no es obligatoria. Comprende errores en tiempo de ejecución que se producen al efectuar operaciones sobre datos que se encuentran en la memoria de la computadora. Se subdivide en diversas subclases entre las que destacan: ArithmeticException NullPointerException NumberFormatException IndexOutOfBoundsException

Jerarquía de Clases: java.io.ioexception comprende los errores de entrada/salida. FileNotFoundException EOFException java.lang.interruptedexception de cuyo tipo son los errores debidos a la interrupción de un hilo de ejecución por otro.

La Clase Throwable: Sólo objetos que son instancias de la clase Throwable (o de una de sus subclases) pueden ser lanzados por la máquina virtual de java o con una instrucción throw. Por convenio, la clase Throwable y sus subclases tienen dos constructores: uno sin argumentos y otro con un argumento de tipo String, el cual puede ser usado para producir mensajes de error. Un objeto de la clase Throwable contiene el estado de la pila de ejecución (de su thread) en el momento en que fue creado.

La Clase Throwable: String getmessage () Devuelve el texto con el mensaje de error del objeto. void printstacktrace() Imprime este objeto y su traza en la salida de errores estándar. void printstacktrace (PrintStream s) Imprime este objeto y su traza en el canal especificado. void printstacktrace(printwriter s) Imprime este objeto y su traza en el print writer especificado.

Error VirtualMachineError AWTError Exception RuntimeException IOException StackOverflowError OutOfMemoryError ArithmeticException NullPointerException NumberFormatException IndexOutOfBoundsException FileNotFoundException EOFException

Excepciones Comunes: ArithmeticException Las excepciones aritméticas son típicamente el resultado de una división por 0 ó una situación anómala en una operación aritmética. NullPointerException Se produce cuando se intenta acceder a un objeto que no ha sido definido y posee valor null. NoClassDefFoundException Se referenció una clase que el sistema es incapaz de encontrar.

Excepciones Comunes: IndexOutOfBounds Lanzada cuando se intenta acceder a una posición inexistente en un arreglo. NoSuchFieldError Se intenta acceder a un atributo inexistente. NoSuchMethodError Se intenta acceder a un método inexistente.

Excepciones Comunes: ClassCastException El intento de convertir un objeto a una clase de la cual no es instancia. y = (Prueba) x; // donde x no es de tipo Prueba NegativeArraySizeException Puede ocurrir si hay un error aritmético al intentar cambiar el tamaño de un array. IllegalArgumentException Ocurre cuando se llama a un método con un parámetro erróneo.

Excepciones Comunes: NumberFormatException Se intenta convertir una cadena de caracteres a un número y ésta tiene caracteres no numéricos. InternalException Este error se reserva para eventos que no deberían ocurrir. Por definición, el usuario nunca debería ver este error y esta excepción no debería lanzarse.

Excepciones Comunes: OutOfMemoryException No debería producirse nunca! El intento de crear un objeto con el operador new ha fallado por falta de memoria. Y siempre tendría que haber memoria suficiente porque el garbage collector (recolector de basura) se encarga de proporcionarla al ir liberando objetos que no se usan y devolviendo memoria al sistema.

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