Java: control de excepciones
|
|
- María Cristina Núñez Velázquez
- hace 7 años
- Vistas:
Transcripción
1 Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
2 Introducción v Una excepción es un evento que ocurre durante la ejecución de un programa, y que interrumpe su flujo de control normal. Normalmente se encuentran asociadas a errores. v Los errores pueden tener distintos orígenes: falla del disco duro, problemas en la red, problemas de programación (ej. división por cero), etc. 2
3 Detección de errores v Cuando ocurre un error durante la ejecución de un método en Java se genera un objeto excepción que es enviado al ambiente de ejecución. El flujo de control normal del programa es interrumpido. v El objeto excepción contiene información relativa al error, incluyendo el tipo del mismo y el estado del programa al momento de haberse producido. v Cuando se genera el objeto excepción, el ambiente de ejecución busca en el stack de llamadas a métodos alguno que sea capaz de manejar la excepción (exception handler). Si no lo encuentra, la JVM se hace cargo de él, y el programa termina con un mensaje de error. Stack métodos Excepción método n método 2 método 1 JVM 3
4 Ejemplo 1 v Un caso de división por cero: public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { return x/y; Clase Par, recibe dos números enteros y permite obtener el cuociente entre ellos public class Division{ public static void main(string[] arg) { Par par = new Par( 100, 0 ); par.divide(); System.out.println( Fin programa ); El objeto de la clase Par realizará una división por cero 4
5 Ejemplo 1: Stack de llamadas a métodos v El método main invoca al método divide del objeto de la clase Par. v Durante la ejecución del método divide se genera una excepción. divide main... return x/y; par.divide();... (y = 0) Java Virtual Machine 5
6 Ejecución del ejemplo 1 v Clase de excepción: java.lang.arithmeticexception v Información: / by zero (división por cero) v Stack de llamadas de métodos: 1. Método divide de la clase Par (archivo Par.java, línea 11) llamado por 2. Método main de la clase Division (archivo Division.java, línea 6) 6
7 La jerarquía de excepciones Object Throwable Error Exception RuntimeException 7
8 Opciones en el control de excepciones v Frente a un determinado tipo de excepción un método puede: Lanzar la excepción fuera de él, para traspasar al método invocante la responsabilidad de tratar la excepción; o en caso de ser el primer método del stack de llamadas, traspasar la responsabilidad a la JVM. Capturar la excepción, y proveer un flujo de control alternativo. Excepción Stack métodos divide main JVM 8
9 Control de excepciones: lanzamiento de una excepción v Para indicar que un método traspasará la responsabilidad del control de excepciones al método llamante, se debe usar la cláusula throws en la declaración del método, seguida por el nombre de la excepción: v Ejemplo: Nombre excepción public boolean startplaying() throws SoundException {... 9
10 Control de excepciones: lanzamiento de una excepción (cont.) v Un ejemplo clásico: lectura de datos de la consola import java.io.* ; public class Factorial { public static void main( String arg[ ] ) throws IOException { int número=0, i=1, fact=1; BufferedReader lector = new BufferedReader( new InputStreamReader( System.in ) ); String ingresado=null; System.out.println( "Ingrese número para cálculo de factorial: " ); ingresado = lector.readline( ); número = Integer.parseInt( ingresado ); while( i <= número ) { fact = fact * i; i++; System.out.println( "El factorial de " + número + " es " + fact ); // Fin método main // Fin clase 10
11 Control de excepciones: captura de una excepción v Las excepciones pueden ser capturadas y manejadas usando bloques try, catch y finally (operan en conjunto) El bloque try debe incluir las instrucciones que pueden generar la excepción que se desea manejar. Debe ser seguido por al menos un bloque catch o un bloque finally. El bloque catch debe seguir al bloque try, y debe contener las instrucciones que serán ejecutadas en caso de generarse una excepción. El bloque finally incluye las instrucciones que deberán ejecutarse independientemente de la generación (o ausencia) de una excepción (normalmente usados para liberar recursos). 11
12 Control de excepciones: captura de una excepción (cont.) v Formato general: El tipo de excepción (Tipo_Excepción1, Tipo_Excepción2, etc.) representa la clase de excepción que se puede generar en el bloque try que interesa capturar y controlar. Al producirse una excepción sólo uno de los bloques catch será ejecutado El orden de los catch es importante: las subclases de excepciones deben ser especificadas antes de sus superclases try { // instrucciones que pueden fallar catch (Tipo_excepción1 nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo 1 catch (Tipo_excepción2 nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo 2 catch (Tipo_excepciónN nombre_variable){ // instrucciones a ejecutar si se produce // una excepción tipo N finally{ // instrucciones a ejecutar siempre 12
13 Control de excepciones: captura de una excepción (cont.) v (Nuevamente) el ejemplo clásico: import java.io.* ; public class Factorial { public static void main( String arg[ ] ){ int número=0, i=1, fact=1; BufferedReader lector = new BufferedReader( new InputStreamReader( System.in ) ); String ingresado=null; System.out.println( "Ingrese número para cálculo de factorial: " ); try { ingresado = lector.readline( ); número = Integer.parseInt( ingresado ); while( i <= número ) { fact = fact * i; i++; System.out.println( "El factorial de " + número + " es " + fact ); catch( IOException e ) { System.out.println( "Error de input." ); // Fin método main // Fin clase 13
14 Ejemplo 2: captura de una excepción public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { try{ return x/y; catch(arithmeticexception e){ return ; v En este caso la excepción es interceptada en el método divide Nota: en el ejemplo es discutible la decisión de retornar esta constante en caso de error en la división public class Division{ public static void main(string[] arg) { Par par = new Par( 100, 0 ); int res = par.divide(); System.out.println( "El cuociente es: " + res ); 14
15 Ejecución del ejemplo 2 v A pesar del error el programa completa su ejecución normalmente: v Qué ocurre? La excepción se produce en el método divide() de la clase Par, dentro del bloque try. Esta excepción es capturada en el bloque catch, y el código escrito en este último es ejecutado. 15
16 Información relacionada con la excepción v Toda instancia de excepción tiene un método printstacktrace, que imprime el stack de llamadas de métodos al momento de generarse. v Este método puede ser utilizado para proporcionar información relacionada con la excepción dentro del bloque catch correspondiente: try { // instrucciones que pueden fallar catch (Tipo_excepción nombre_variable){ nombre_variable.printstacktrace(); 16
17 Ejemplo 3: impresión de la información asociada a la excepción 1 public class Par { 2 int x, y; 3 public Par(int x, int y ){ 4 this.x = x; 5 this.y = y; 6 7 public int divide() { 8 try{ 9 return x/y; 10 catch(arithmeticexception e){ 11 e.printstacktrace(); 12 return ; v El objeto excepción es referenciado al interior del bloque catch por medio de la variable e v Se invoca el método printstacktrace sobre el objeto excepción 1 public class Division{ 2 public static void main(string[] arg) { 3 Par par = new Par( 100, 0 ); 4 int res = par.divide(); 5 System.out.println( "El cuociente es: " + res );
18 Ejecución del ejemplo 3 v El programa ahora indica el tipo de excepción y lugar donde ésta se produjo: v Notar que el programa termina su ejecución normalmente. 18
19 La clase RuntimeException v Representa excepciones comunes que se presentan en la JVM durante la ejecución de programas. Ejemplo: NullPointerException. v Debido a la ubicuidad de este tipo de excepciones, el compilador permite no especificar el mecanismo de control de las RuntimeExceptions: cuando este mecanismo no es especificado, estas excepciones serán lanzadas fuera del método actual. RuntimeException NullPointerException 19
20 La clase RuntimeException (cont.) v Ejemplo: ArithmeticException es subclase de RuntimeException. Por tanto las siguientes implementaciones de la clase Par son equivalentes: public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() throws ArithmeticException { return x/y; public class Par { int x, y; public Par(int x, int y ){ this.x = x; this.y = y; public int divide() { return x/y; 20
21 Crear nuevas excepciones v Se pueden crear nuevas excepciones extendiendo la clase Exception o una de sus subclases. v La clase Exception ofrece distintos constructores que pueden ser referenciados desde las subclases. Los más utilizados son: public Exception(): inicializa la excepción con valores de default (mensaje nulo) public Exception(String mensaje): inicializa la excepción con el mensaje recibido como parámetro. v Nota: la clase RuntimeException también puede ser extendida. 21
22 Crear nuevas excepciones (cont.) v Ejemplo: public class UnsupportedMediaException extends Exception{ public UnsupportedMediaException(){ super( The selected media is not supported. ); v Convención: el nombre de las excepciones termina en la palabra Exception 22
23 Lanzamiento de una excepción v Una excepción puede ser lanzada en cualquier parte del código usando la instrucción throw acompañada de la referencia a un objeto excepción: throw new NombreExcepción( parámetros_constructor ) v Ejemplo: public void savedata throws UnsupportedMediaException{... if(!iscompatible( requestedmedia ) ) throw new UnsupportedMediaException();... 23
24 Ejemplo 4: creación y lanzamiento de excepciones public class Test{ public static void main(string[] arg) throws UnsupportedMediaException { Recorder r = new Recorder( "CD" ); r.saveon( "DVD" ); System.out.println( "Saved." ); public class Recorder { String media; public Recorder( String mediatype ){ media = mediatype; public void saveon( String mediatype ) throws UnsupportedMediaException{ if( media.equals( mediatype ) ) System.out.println( "Saving." ); else throw new UnsupportedMediaException(); public class UnsupportedMediaException extends Exception { public UnsupportedMediaException() { super( "The selected media is not supported" ); 24
25 Ejecución del ejemplo 4 v La excepción definida se comporta como cualquier otra excepción: 25
26 Ejercicio v Se pide crear la clase Temperature, para registrar temperaturas en grados Celsius (ºC) y Kelvin (ºK). Una instancia de la clase deberá almacenará un valor de temperatura y lo retornará en cualquiera de las escalas. Para ello la clase deberá ofrecer los métodos setc y setk para establecer valores en ºC y ºK, y los métodos getc y getk para retornar los valores en ºC y ºK, respectivamente. Notar que no es físicamente posible admitir temperaturas inferiores a los 0ºK, por lo tanto será necesario generar una excepción (IllegalTemperatureException) cuando un valor fuera de rango trate de ser ingresado. Genere las clases indicadas, y una aplicación que permita ingresar valores y visualizarlos. 26
27 Discusión v Considere los siguientes ejemplos: Una clase CuentaCorriente (que maneja una cuenta bancaria) no debe admitir giros mayores que el saldo disponible. En caso de ser inadmisible el giro, éste podría ser impedido: Retornado false en el método que efectúa el giro. Generando una excepción en el método que efectúa el giro. En la clase Temperature del ejemplo anterior se genera una excepción cuando se trata de establecer una temperatura inválida. Alternativamente se podría haber obviado la creación de la excepción, y haber retornado falso en los métodos setk y setc. v Cuándo conviene generar excepciones? 27
28 Excepciones: caso del Ariane 5 v Vuelo 501 ESA (European Space Agency), 4 de Junio de 1996, autodestrucción en H0 +39 s: Costo: 500 millones de dólares 28
29 Excepciones: caso del Ariane 5 (cont.) v Sistema de control de vuelo: Plataforma de referencia inercial Lecturas de giroscopios y acelerómetros SRI-1 OBC-1 SRI-2 Bus de datos OBC-2 SRI: Inertial Reference System OBC: On-Board Computer MOTORES Servo-válvulas y actuadores hidráulicos 29
30 Excepciones: caso del Ariane 5 (cont.) Reporte del equipo de investigación sobre la falla del vuelo 501: v Aproximadamente en el instante H0 +39 segundos, el Ariane 5 comenzó a desintegrarse debido a esfuerzos aerodinámicos excesivos ocasionados por un ángulo de ataque inapropiado. Esto condujo a la separación de los propulsores auxiliares respecto del cuerpo principal de la nave, por lo que se gatilló el mecanismo de autodestrucción del cohete. v Este ángulo de ataque resultó ser consecuencia de una completa desalineación entre las toberas de los propulsores auxiliares y aquella del motor principal. v La desalineación de las toberas fue comandada por el OBC a partir de información transmitida por el SRI-2. Parte de estos datos no contenían información de vuelo, sino un patrón de diagnóstico del SRI, el cual fue interpretado como información de vuelo. v La razón por la cual el SRI-2 no envió datos reales es que la unidad se había declarado en falla por una excepción de software. 30
31 Excepciones: caso del Ariane 5 (cont.) v El OBC no pudo acceder al SRI-1 porque este se había desactivado algunos milisegundos antes por la misma razón que el SRI-2. v La excepción interna en el software del SRI fue ocasionada durante la ejecución de una instrucción de conversión de un valor en formato punto flotante de 64 bits a entero con signo de 16 bits, en circunstancias que el valor excedía la capacidad del tipo entero. La operación de conversión no estaba protegida, aún cuando asignaciones de variables similares sí lo estaban. v El valor que se intentó convertir correspondía a la magnitud de la variable HB (desviación horizontal), significativa sólo durante la fase de alineación previa al despegue. Sin embargo, esta función de cálculo se mantuvo operativa durante 40 segundos tras el despegue por un requerimiento en el diseño del Ariane 4, no presente en el Ariane 5 (el diseño del SRI de ambas naves era en práctica idéntico). v La conversión del valor de la variable HB no estaba protegida porque el Ariane 4 realizaba una trayectoria inicial distinta a la del Ariane 5, en la cual dicha variable nunca tomaría valores fuera del rango esperado. 31
32 Excepciones: caso del Ariane 5 (cont.) v Comentarios: La operación inválida generaba correctamente una excepción. Sin embargo, el mecanismo de gestión de excepciones no fue diseñado para responder adecuadamente. El mecanismo de tolerancia a fallas del Ariane 5 estaba concebido para tratar fallas aleatorias (por ej. malfuncionamiento del hardware de uno de los computadores), no errores de diseño (ambas SRI experimentaron el mismo comportamiento al momento de producirse la falla). El equipo de investigación sobre el accidente sugirió cambiar el enfoque de desarrollo utilizado hasta entonces, el software se considera correcto hasta que se demuestra que falla, por el enfoque se asume que el software es defectuoso hasta que, tras aplicar métodos aceptados como buenas prácticas, se logre demostrar que está correcto. 32
Java: control de excepciones
Introducción Java: control de excepciones Una excepción es un evento que ocurre durante la ejecución de un programa, y que interrumpe su flujo de control normal. Normalmente se encuentran asociadas a errores.
Más detallesExcepciones. Excepciones
Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase
Más detallesTema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...
Más detallesManejo de Excepciones
Manejo de Excepciones M. Consuelo Franky Julio Carreño Pontificia Universidad Javeriana 1 Temario Captura de excepciones Excepciones estándares Cómo provocar una excepción Cómo definir nuevas excepciones
Más detallesHOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Más detallesParte I: Programación en un lenguaje orientado a objetos
Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento
Más detallesJAVA: Excepciones. Errores
JAVA: Excepciones Lenguajes de Programación - Java: Excepciones 1 Errores Qué ocurre si un programa está usando un archivo en CD y el usuario lo extrae antes de tiempo? Qué ocurre si el usuario de un programa
Más detallesPresentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña
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
Más detallesTEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones
TEMA 8 Excepciones en Java Manejo de Excepciones Cuando un programa Java viola las restricciones semánticas del lenguaje (se produce un error), la máquina virtual Java comunica este hecho al programa mediante
Más detallesFormato para prácticas de laboratorio
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE
Más detallesIntroducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens
Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,
Más detallesTema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones
Más detallesPráctica #5: Uso de control de flujo, Excepciones y Lectura Estándar
Práctica #5: Uso de control de flujo, Excepciones y Lectura Estándar Introducción El alumno creará cuatro programas en java que manejen control de flujo mediante las sentencias de bucle while y do/while,
Más detallesFundamentos de Computadores y Lenguajes
Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida
Más detallesExcepciones. Una excepción es una situación anómala a la que llega la ejecución de un programa
Excepciones Una excepción es una situación anómala a la que llega la ejecución de un programa Excepciones Introducción Una máxima en el desarrollo de software dicta que el 80 % del esfuerzo (en tiempo
Más detallesTEMA 8. Agenda. Excepciones
TEMA 8 Excepciones V1.0 28/05/06 Manuel Pereira González Agenda 1 Introducción Mecanismo para el control y gestión de errores basado en objetos llamados Excepciones Una Excepción es una condición anormal
Más detallesTema 14: Excepciones
Tema 14: Excepciones 0 Excepción Definición Las Excepciones son objetos que definen el estado de la aplicación cuando se producen situaciones anómalas. Son un mecanismo usado por muchos lenguajes de programación
Más detallesResumen Manejo de Excepciones
Resumen Manejo de Excepciones Excepción Excepción es un cierto tipo de error o una condición anormal que se ha producido durante la ejecución de un programa. El nombre de excepción viene del hecho de que,
Más detallesProgramación orientada a objetos. Capítulo 12 Manejo de errores
Programación orientada a objetos Capítulo 12 Manejo de errores Conceptos Programación a la defensiva Anticiparse a lo que podría ir mal Lanzamiento y tratamiento de excepciones Aserciones Causas de situaciones
Más detallesCAPÍTULO 4: EXCEPCIONES EN JAVA
PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA CAPÍTULO 4: EXCEPCIONES EN JAVA 1 CONTENIDOS TEMA 4: Excepciones en Java. 4.1 INTRODUCCIÓN 4.2 MANEJO DE EXCEPCIONES EN JAVA 4.3 TIPOS DE EXCEPCIONES 4.3.1 Excepciones
Más detallesUso de excepciones en Java
Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que
Más detallesConsiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.
MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que
Más detalles7. Otras sentencias Sentencia break. 84 A. García-Beltrán y J.M. Arranz
84 A. García-Beltrán y J.M. Arranz 7. Otras sentencias Objetivos: a) Describir el funcionamiento de las otras sentencias de control (break, continue y try-catch) b) Interpretar el resultado de una secuencia
Más detallesUnidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Más detallesabril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Más detallesMódulo 11: MANEJO DE EXCEPCIONES 11-1
Módulo 11: MANEJO DE EXCEPCIONES 11-1 SUMARIO MANEJO DE EXCEPCIONES 1 SUMARIO 2 11.1. INTRODUCCIÓN 3 11.1.1. Tratamiento de Errores vs. Tratamiento de Excepciones 3 11.1.2. Qué ocurre cuando se produce
Más detallesTema 3. Tratamiento de Excepciones
Tema 3. Tratamiento de Excepciones Dpto. Lenguajes y Ciencias de la Computación. E.T.S.I. Informática. Universidad de Málaga Programación Orientada a Objetos Dpto. Lenguajes y Ciencias de la Computación.
Más detallesJava: un rápido repaso
Desarrollo y ejecución de aplicaciones en Java Java: un rápido repaso public class Hola { public satic void i =1; System.out. Compilador Java Código fuente Franco Guidi Polanco Escuela de Ingeniería Industrial
Más detallesJava: un rápido repaso
Java: un rápido repaso Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Desarrollo y ejecución de aplicaciones en Java public class
Más detallesLenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Lenguaje Java Sesión 3: Tratamiento de errores 2012-2013 Depto. Ciencia de la Computación e IA Índice Excepciones Captura de excepciones Propagación de excepciones Nested exceptions Errores en tiempo de
Más detallesGuía práctica de estudio 10: Excepciones y errores
Página 152/208 Guía práctica de estudio 10: Excepciones y errores Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena 152 Objetivo: Código:
Más detallesObjetivos. El alumno empleará el concepto de excepción en la programación orientada a objetos para el manejo de errores de ejecución.
Universidad Nacional Autónoma de México Facultad de Ingeniería PRACTICA 10 PROGRAMACIÓN ORIENTADA A OBJETOS (MANEJO DE EXCEPCIONES) Objetivos El alumno empleará el concepto de excepción en la programación
Más detallesUD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión
UD 4 GESTIÓN DE ERRORES Pedro J. Ponce de León Versión 20111005 Gestión Errores Objetivos Saber utilizar las sentencias de control de excepciones para observar, indicar y manejar excepciones, respectivamente.
Más detalleso Una clase es un tipo al cual pertenecen objetos o instancias de la clase.
o Una clase es un tipo al cual pertenecen objetos o instancias de la clase. Introducción a la Programación Orientada a Objetos EII147-01-02 Introducción a las tecnologías de información Clase Persona:
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Más detallesDiseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 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 Versión 1.0.1 Índice Gestión de excepciones
Más detallesHERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.
HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la
Más detallesExcepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones
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
Más detallesMANEJO DE EXCEPCIONES en C++ Dr. Oldemar Rodríguez R. Escuela de Informática Universidad Nacional
MANEJO DE EXCEPCIONES en C++ Dr. Oldemar Rodríguez R. Escuela de Informática Universidad Nacional C++ posee un mecanismo de gestión de errores incorporado que se denomina manejo de excepciones. La utilización
Más detallesSi bien hay gran cantidad de excepciones, todas derivan de la clase Exception, además de las excepciones ya manejadas, se pueden crear propias.
Práctica No. 6. Manejo de Excepciones Java permite el manejo de excepciones, esto permite que cuando ocurra algún error en tiempo de ejecución, se pueda evitar que el programa finalice de manera incorrecta.
Más detallesProgramación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
7 - Excepciones en Java Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Introducción. Las excepciones en Java están destinadas, al igual que en el resto de los lenguajes
Más detallesDiseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen
Primer Certamen Primera parte, sin apuntes (30 minutos; 1/3 de la nota): 1.- Responda brevemente y entregue en hoja con su nombre. a. Al redefinir un método en una subclase, es posible retornar un objeto
Más detallesExcepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática
Excepciones y E/S Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) montenegro@fdi.ucm.es Contenidos Generación de excepciones.
Más detallesManejo de errores: Excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación de
Más detallesProgramación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Más detallesProgramación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 EXCEPCIONES 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Cómo se controlan los posibles errores que ocurran durante la ejecución de una aplicación? Un programador, puede
Más detallesINF 473 Desarrollo de Aplicaciones en Java
INF 473 Desarrollo de Aplicaciones en Java Sección V Otras características de Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Paquetes Conjunto de clases definidas
Más detallesProgramación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesHERENCIA. Problema: Reparar el el coche. Jesús (Valencia) Luis, Mecánico (Valencia) Antonio, Servicio Técnico Ferrari (Madrid)
HERENCIA Lenguajes de Programación - Orientación a Objetos: Herencia 1 Problema: Reparar el el coche Jesús (Valencia) Reparar vehículo. Problema: no arranca Luis, Mecánico (Valencia) Método empleado Pedir
Más detallesTema 5 Corrección y Robustez Excepciones en Java
Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento
Más detalles1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
Más detallesExamen parcial Convocatoria de junio de 2005 FUNDAMENTOS DE LA PROGRAMACIÓN
EJERCICIO 1 (1.5 puntos) Diseñe un conjunto de casos de prueba adecuado para comprobar el funcionamiento de un método encargado de calcular la duración de una llamada telefónica. Entradas Hora de inicio
Más detallesTECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE
MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE Los modificadores de acceso, como su nombre indica, determinan desde qué clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
Más detallesRecursividad. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile
Recursividad Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Recursividad v Es la técnica de definir un proceso en términos de si
Más detallesReconociendo tipos de excepciones comunes
Reconociendo tipos de excepciones comunes Es necesario reconocer tres tipos de excepciones para el examen de OCA : excepciones de tiempo de ejecución, excepciones comprobadas, y los errores. Veremos ejemplos
Más detallesProgramación Orientada a Objetos. Java: Excepciones
Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesUnidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones I:
WEB: http://dis.um.es/~lopezquesada Pag. 1 Unidad 3 Programación Orientada a Objetos. Programación JAVA. Cuestiones I: Alumno: 1. Corregir los errores del siguiente código JAVA. (0.5p): // Obtener el menor
Más detallesPrácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad
Más detallesConceptos básicos de Orientación a Objetos, manejo con Eclipse.
Conceptos básicos de Orientación a Objetos, manejo con Eclipse. Arrancar Eclipse. Después de descomprimir la aplicación, dar doble clic sobre el ícono ejecutable para arrancar la aplicación. En caso de
Más detallesManejo de Excepciones
Manejo de Excepciones Una excepción en java es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de las instrucciones. Una excepción puede ser causada por fallas de
Más detallesManejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación
Más detallesEstructura de Datos Unidad 1: Repaso del Lenguaje Java
Estructura de Datos Unidad 1: Repaso del Lenguaje Java Introducción Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de 1991, con el que se van a
Más detallesDepto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011
Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Ejercicio 1 (2 puntos) SOLUCIONES class TarjetaDeCredito
Más detallesExcepciones LSUB, GSYC, URJC. Monday, February 4, 13
LSUB, GSYC, URJC 1 Gestión de errores para casos excepcionales Parte del interfaz de una clase Clases en sí mismas 2 g() g() f() maneja excepciones main Pila 3 g() Excepción g() f() manejador excepciones
Más detallesJAVA 1. Introducción
Diseño de Interfaces de Usuario JAVA. Introducción. Características Portabilidad Interpretado (bytecodes) Uso de Máquina Virtual Java (JVM) Orientado a Objetos Jerarquía de clases Extensible (packages)
Más detallesCorrección y Robustez (2ª parte)
Programación Orientada a Objetos TEMA 4 Corrección y Robustez (2ª parte) Facultad de Informática Universidad de Murcia Contenido 1. Introducción 2. Comparativa de asertos 3. Comparativa de mecanismo de
Más detallesINTRODUCCION A LA PROGRAMACION EN JAVA
Departament d Arquitectura de Computadors INTRODUCCION A LA PROGRAMACION EN JAVA Índice Paso de parámetros en tiempo de ejecución Métodos static Atributos static Try-catch-finally Throws/throw 2 Paso de
Más detallesPrograma Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores
El lenguaje de programación Java Programa Java Un programa Java está formado por un conjunto de clases que interactúan entre sí La clase es la unidad básica de programación La ejecución depende de la clase
Más detallesProcesamiento distribuido en Java
Diseño Y Aplicaciones de Sistemas Distribuidos Procesamiento distribuido en Java Joan Vila DISCA / UPV Departament d Informàtica de Sistemes i Computadors Universitat Politècnica de València Contenidos
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesApuntes de Java. Tema 6: Excepciones. Uploaded by Ingteleco
Apuntes de Java Tema 6: Excepciones Uploaded by Ingteleco http://ingteleco.webcindario.com ingtelecoweb@hotmail.com La dirección URL puede sufrir modificaciones en el futuro. Si no funciona contacta por
Más detallesIntroducción a Java. Dr. (c) Noé Alejandro Castro Sánchez
Introducción a Java Dr. (c) Noé Alejandro Castro Sánchez Programas Java Applets Pueden correr en navegadores Web Agregan funcionalidad a páginas Web Se llega a restringir su funcionalidad (e. g., no pueden:
Más detallesProgramación en Java. Instructor:
Instructor: Lección 5: Manejo de Excepciones 1. Creando Excepciones 2. El estatuto throw 3. La capsula throws 4. Try, catch y finally 5. Cuando usar excepciones Excepciones Una excepción es un problema
Más detallesfundamentos de programación (unidad 7) herencia y relaciones entre clases
fundamentos de programación (unidad 7) herencia y relaciones entre clases Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
Más detallesProgramación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
9 - Entrada y salida de datos estándar Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas Entrada y salida de datos estandar Normalmente, cuando se codifica un programa, se
Más detallesExamen de Prácticas de Programación Ingeniería Informática
Examen de Prácticas de Programación Ingeniería Informática Junio 2008 1) Cuestiones 1.a) (0.75 puntos) Mostrar los contenidos del fichero salida.txt tras la ejecución del método main de la clase principal:
Más detallesJava Optional ifpresent y como utilizarlo
Hoy vamos a hablar de Java Optional ifpresent. Cuando trabajamos con el tipo Optional conseguimos mejoras a la hora de trabajar con valores nulos. Veamos un ejemplo sencillo imaginemos que tenemos una
Más detallesSolución al Examen de Fundamentos de Computadores y Lenguajes
Solución al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2006 1) Se dispone de la siguiente clase enumerada. Escribir un método,
Más detallesSoluciones del Examen de Fundamentos de Computadores y Lenguajes
Soluciones del Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Junio 2003 1) Escribir un fragmento de programa que haga lo siguiente Declara
Más detallesCódigo Fuente. Creamos en C:\ una carpeta para ubicar el código fuente del servidor. En mi caso, he creado una carpeta denominada rmi4
EL EJEMPLO El proceso servidor provoca un eco de la entrada de teclado enviada por el proceso cliente. Por sencillez, ejecutaremos tanto el servidor como el cliente en la máquina local. El sistema operativo
Más detalleso Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 2
Arreglos en Java o Los arreglos son colecciones ordenadas de datos del mismo tipo. o Ejemplos: 3 27 50 4 Arreglo de bytes Arreglos con tipos primitivos hola Casa Auto No Arreglo de Strings EII147-01-02
Más detallesPor el contrario System.in es un byte Stream sin caracteristicas de character Stream.
I/O desde la linea de Comandos Los programas normalmente tienen funcionalidades para el ingreso o captura de datos desde la linea de comandos. La plataforma Java soporta estas iteracciones de dos formas:
Más detallesFundamentos de Programación
Fundamentos de Programación Excep5on errores en 5empo de ejecución 1.12.2009 José A. Mañas Dpto. de Ingeniería de Sistemas Telemá@cos hcp://www.lab.dit.upm.es/~fprg/ excepciones una
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesFlujos (streams) Programación. Licenciatura Lingüística y Nuevas Tecnologias Nadjet Bouayad-Agha
Flujos (streams) Programación Nadjet Bouayad-Agha Licenciatura Lingüística y Nuevas Tecnologias 2007 Agenda Java e argumentos de entrada: args.zip Como leer e escribir datos de/a los flujos estándares.
Más detallesDESARROLLO: Realizamos la declaración de variables con inicialización en cero se realizo el menú que se le muestra al usuario.
PRACTICA 1 MENU OBJETIVO: Reforzar conocimientos ya adquiridos sobre el manejo de programación en java a través de un programa, el cual realice un conteo de caracteres, cadenas, verificación de palíndromos
Más detallesManejo de Excepciones. Agustín J. González ELO329
Manejo de Excepciones Agustín J. González ELO329 Manejo de Excepciones El Manejo de Excepciones es un mecanismo interno para comunicar estados de error desde una parte del programa a otra. Comúnmente,
Más detallesJava: Clases Abstractas e Interfaces
Java: Clases Abstractas e Interfaces Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Clases abstractas e interfaces v A nivel conceptual,
Más detallesSoluciones al Examen de Fundamentos de Computadores y Lenguajes
Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2003 1) Se dispone del siguiente array de números reales ya creado.
Más detallesString s = t.readline() 4. Si el valor leído desde teclado, se requiere almacenar en una variable de un tipo diferente a
Desde teclado Entrada de datos 1. Importar el paquete java.io 2. Crear un objeto BufferedReader, pasando como parámetro al constructor un objeto InputStreamReader. BufferedReader t = new BufferedReader(new
Más detallesCLAVE 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 ++;
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja
Más detallesEjecución de hebras. En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura).
Ejecución de hebras En realidad, todas las aplicaciones escritas en Java son aplicaciones multihebra (recuerde el recolector de basura). Hebras vs. Procesos Los cambios de contexto son más costosos en
Más detallesSesión 9. TEMA 11 Clases abstractas. Manejo de errores y excepciones
Sesión 9. TEMA 11 Clases abstractas. Manejo de errores y excepciones Fundamentos de Informática José Jaime Noguera Noguera 6 de mayo de 2018 Contenidos 1 Introducción 2 Clases abstractas 3 Errores y excepciones
Más detallesSesión 2: Introducción a Java
Razonamiento Geométrico Diversiones Sesión 2: Introducción a Java Introducción a Java Copyright 2002-2003 Universidad de Alicante 1 Índice Revisión de Java Qué es Java? Clases y objetos La variable CLASSPATH
Más detallesPROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Más detallesExcepciones en Programación Orientada a Objetos
1 Excepciones en Programación Orientada a Objetos 2013 Transversal Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 2 Ítems 1. Manejo de excepciones 2. Capturar excepciones
Más detalles