Excepciones. Excepciones. Excepciones. Excepciones. Condiciones inesperadas en un programa
|
|
- María Carmen María Ángeles Lagos Ortiz
- hace 5 años
- Vistas:
Transcripción
1 Excepciones Condiciones inesperadas en un programa Excepciones Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Pueden ocurrir al llamar métodos de objetos Se pueden tratar en el nivel donde ocurren (quien invoca el método) O en un nivel superior de la pila de llamadas Ejemplos Abrir un fichero que no existe Intentar invocar un método en un objeto que no existe (referencia null) Utilizar un array fuera de su rango Se cae una conexión de red que se estaba utilizando Inconsistencia del estado del objeto Falta una información para realizar una operación Facultad de Informática UCM, Excepciones 2 Excepciones Tradicionalmente esto se hace devolviendo un valor la función llamada que indica si todo ha ido bien o no if ( función(parámetros) == UN_ERROR ) { // tratar error else { // código normal Mecanismo simple Pero complica el código (cuando hay varias funciones empiezan a anidarse los if-else) Hay errores de ejecución que no pueden capturarse fácilmente Por ejemplo, en C++ al quedarse sin memoria al hacer new o cuando se cae una conexión Excepciones En lenguajes de POO modernos se estructura el tratamiento de excepciones: En el código de los métodos se puede indicar la ocurrencia de la excepción y esto ocasiona la finalización inmediata del método Por ejemplo el incumplimiento de alguna condición necesaria para la ejecución del método También pueden ocurrir excepciones del entorno (no originadas explícitamente por la aplicación) Síncronas: división por cero, acceso fuera de los límites de un array, puntero nulo Asíncronas: algún fallo del sistema, caída de comunicaciones, falta de memoria El código del llamante se puede estructurar en dos partes: Secuencia normal de ejecución Tratamiento de excepciones: qué hacer cuando se sale del flujo normal de ejecución por la ocurrencia de alguna excepción Facultad de Informática UCM, Excepciones 3 Facultad de Informática UCM, Excepciones 4
2 Excepciones en Java Excepciones en Java Las excepciones son objetos De la clase Exception, que hereda de Throwable En Java puede haber dos tipos de excepciones: Excepciones que no requieren comprobarse Errores y excepciones de ejecución Clase RuntimeException Excepciones que hay que comprobar Comprobadas, el compilador obliga a considerarla Exception Throwable Error Todas las demás Heredan de la clase Exception Cuando ocurre una excepción se dice que se lanza (throw) throw new Excepción(); La excepción puede ser capturada para tratarla (catch) ExcepciónUsuario RuntimeException Sin comprobación, las lanza la MVJ catch (Excepción e) { tratamiento(); Facultad de Informática UCM, Excepciones 5 Facultad de Informática UCM, Excepciones 6 Excepciones en Java Algunas excepciones comunes en Java Excepciones sin comprobación obligatoria Son las que puede lanzar la MVJ Normalmente representan una condición fatal del programa No las comprueba el compilador y es difícil saber cuándo y por qué pueden suceder Ocurren en tiempo de ejecución Pero a veces se puede considerar que alguna condición podría ocasionarlas Se suelen tratar en algún nivel superior de forma genérica Excepciones con comprobación Las comprueba el compilador Si no se consideran en el código, el compilador indica un error Estas excepciones son lanzadas por métodos que se usan en el código (por eso las reconoce el compilador) El programador tiene que definir lo que hacer cuando ocurran No comprobadas, subclases de RuntimeException: NullPointerException Cuando se envía un mensaje a un objeto null ArrayIndexOutOfBoundsException Cuando se accede a un índice ilegal en un array Comprobadas: IOException Clase genérica para las excepciones que se producen en operaciones de E/S NoSuchMethodException Cuando no se encuentra un método ClassNotFoundException Cuando una aplicación intenta cargar una clase pero no se encuentra su definición (el fichero.class correspondiente) Facultad de Informática UCM, Excepciones 7 Facultad de Informática UCM, Excepciones 8
3 Algunos errores comunes en Java Gestión de excepciones NoSuchMethodError La aplicación llama a un método que ya no existe en la definición de la clase Sólo puede ocurrir si la clase cambia su definición en tiempo de ejecución NoClassDefFoundError La MVJ intenta cargar una clase pero no se encuentra Suele ocurrir si el CLASSPATH no está bien o si la clase (.class) no está donde se espera ClassFormatError La MVJ intenta cargar una clase desde un fichero incorrecto Suele ocurrir cuando el fichero.class está corrupto, o si no es un fichero.class Facultad de Informática UCM, Excepciones 9 Hay dos mecanismos para gestionar una excepción: Tratarla en el método que las captura Propagarla al método llamante Si al final nadie captura la excepción, el programa acaba y se lista la traza de la pila de llamadas Cómo se haga depende del diseño general del sistema Se manejan en un bloque try-catch (si no, se propagan hacia el llamante): public void unmétodo(){ try{ //código donde se puede lanzar la excepción e catch(exception e){ //código que gestiona la exception e Facultad de Informática UCM, Excepciones 10 Se pueden capturar múltiples excepciones Bloque finally El orden de captura de las excepciones es importante Las más genéricas se deberían capturar al final public void unmétodo(){ try{ // código donde se puede lanzar la excepción e1 // código donde se puede lanzar la excepción e2 catch(miexcepción e1){ // código que gestiona la exception e1 catch(exception e2){ // código que gestiona la exception e2 Exception MiExcepción Se ejecuta siempre al final, después del último bloque catch Generalmente se utiliza para hacer limpieza Cerrar ficheros, conexiones, etc. public void mimétodo(){ try{ // código donde se puede lanzar la excepción e1 // código donde se puede lanzar la excepción e2 catch(miexcepción e1){ // código que gestiona la exception e1 catch(exception e2){ // código que gestiona la exception e2 finally{ //código de limpieza, liberar recursos (close) Facultad de Informática UCM, Excepciones 11 Facultad de Informática UCM, Excepciones 12
4 Propagación de excepciones Gestión genérica de excepciones Es la segunda estrategia, en vez del bloque try-catch Deja que sea el método llamante quien gestione la excepción Hay que declarar que el método puede lanzar la excepción Se utiliza la palabra clave throws en la declaración del método public void mimétodo() throws Exception{ //código que puede lanzar una excepción e Se puede capturar una excepción genérica para capturar todas las que sean de ese tipo y subtipos Por ejemplo, capturando Exception se pueden capturar todas las excepciones posibles Y capturando Throwable todas las excepciones y errores Lo más genérico es imprimir la traza de la pila de llamadas y así se ve dónde ha ocurrido public void mimétodo(){ try{ //código catch(throwable e){ System.out.println(e.printStackTrace()); Facultad de Informática UCM, Excepciones 13 Facultad de Informática UCM, Excepciones 14 Definición de nuevas excepciones (de usuario) Basta con heredar de la clase Exception Exception Cómo lanzar excepciones Para lanzar una nueva excepción: 1. Crear la excepción con new ClaseExcepción 2. Usar la palabra clave throw ExcepciónJugadaInválida ExcepciónJuego ExcepciónJugadorAusente public class Banco{ public Cuenta crearcuenta (String cliente) throws CuentaRechazada { if (!listanegra.esta(cliente)) return new Cuenta(cliente); else throw new cuentarechazada(); Facultad de Informática UCM, Excepciones 15 Facultad de Informática UCM, Excepciones 16
5 Ventajas del mecanismo de excepciones Separación del tratamiento de errores del resto del código del programa Flujo del programa más sencillo Evita manejos de códigos de error Propagación de errores a lo largo de la pila de llamadas a métodos Evitar retornos continuos en caso de error Evitar la necesidad de argumentos adicionales Por ejemplo, el clásico boolean Agrupamiento y definición de tipos de errores como clases Jerarquías de excepciones Tratar errores a diferentes niveles de especificidad Ejemplo de código sin tratamiento de errores readfile { open the file; determine its size; allocate that much memory; read the file into memory; close the file; Facultad de Informática UCM, Excepciones 17 Facultad de Informática UCM, Excepciones 18 Ejemplo de tratamiento de errores sin excepciones errorcodetype readfile { initialize errorcode = 0; open the file; if (thefileisopen) { determine the length of the file; if (gotthefilelength) { allocate that much memory; if (gotenoughmemory) { read the file into memory; if (readfailed) errorcode = -1; else errorcode = -2; else errorcode = -3; close the file; if (thefiledidntclose && errorcode == 0) errorcode = -4; else errorcode = errorcode & -4; else errorcode = -5; return errorcode; Ejemplo de tratamiento de errores con excepciones public void leefichero (File f) { try { abre(f); determina_tamaño(f); asigna_memoria(tam); lee_fichero_en_memoria(f); cierra(f); catch (fileopenfailed) { dosomething; catch (sizedeterminationfailed) { dosomething; catch (memoryallocationfailed) { dosomething; catch (readfailed) { dosomething; catch (fileclosefailed) { dosomething; Facultad de Informática UCM, Excepciones 19 Facultad de Informática UCM, Excepciones 20
6 Ejercicio Realizar un programa en el que haya una ventana con un campo de texto donde se pueda introducir un número y el programa saque en la ventana su raíz cuadrada Manejando excepciones tratar las siguientes situaciones: Se introduce un número negativo Se introduce un texto que no es un número Facultad de Informática UCM, Excepciones 21 Mecanismo no original del lenguaje, incorporado en las versiones más recientes Utiliza el mismo mecanismo que Java, en tres fases: Intento de ejecución de un bloque de código try { // bloque de código-intento... Si se produce una circunstancia excepcional durante la ejecución se lanza la excepción if (condicion) throw "overflow"; La ejecución del programa se desvia a un sitio específico donde la excepción es capturada y se trata catch (...) { // bloque manejador de posibles excepciones... Facultad de Informática UCM, Excepciones 22 Ejemplo: supóngase que quiere crearse un array de cien millones de enteros #include <iostream> using namespace std; int main() { int *x = NULL; int y = ; x = new int[y]; // crash!!!! x[10] = 0; cout << "Puntero: " << (void *) x << endl; delete[] x; cin.get(); return 0; Normalmente habrá un momento en que no quedará memoria y el programa abortará Ejemplo: no vale con intentar un if..else #include <iostream> using namespace std; int main() { int *x = 0; int y = ; x = new int[y]; // fallará al hacer el new, nada puede salvarlo if(x) { x[10] = 0; cout << "Puntero: " << (void *) x << endl; delete[] x; else { cout << "Memoria insuficiente." << endl; cin.get(); return 0; Facultad de Informática UCM, Excepciones 23 Facultad de Informática UCM, Excepciones 24
7 Ejemplo: con excepciones se puede tratar el problema #include <iostream> using namespace std; int main() { int *x; int y = ; try { x = new int[y]; x[0] = 10; cout << "Puntero: " << (void *) x << endl; delete[] x; catch(std::bad_alloc&) { cout << "Memoria insuficiente" << endl; Clase base class exception { public: exception() throw() { virtual ~exception() throw(); virtual const char* what() const throw(); ; La función what() debe devolver una cadena que indica la razón de la excepción Existe una forma de capturar cualquier excepción catch(...) { cout << "Excepción imprevista" << endl; cin.get(); return 0; Facultad de Informática UCM, Excepciones 25 Facultad de Informática UCM, Excepciones 26 Ejemplo: excepciones en copia de ficheros Primero: definición de la clase de excepción #include <iostream> #include <fstream> using namespace std; class CopiaEx: public exception { public: CopiaEx(int mot) : exception(), motivo(mot) { const char* what() const throw(); private: int motivo; ; Ejemplo: excepciones en copia de ficheros Primero: definición de la clase de excepción Definición del método what() const char* CopiaEx::what() const throw() { switch(motivo) { case 1: return "Fichero de origen no existe"; case 2: return "No es posible abrir el fichero de salida"; return "Error inesperado"; Ejemplo de C++ con Clase: Facultad de Informática UCM, Excepciones 27 Facultad de Informática UCM, Excepciones 28
8 Ejemplo: excepciones en copia de ficheros Utilización en el programa Cómo lanzar excepciones void CopiaFichero(const char* Origen, const char *Destino) { unsigned char buffer[1024]; int leido; ifstream fe(origen, ios::in ios::binary); if(!fe.good()) throw CopiaEx(1); ofstream fs(destino, ios::out ios::binary); if(!fs.good()) throw CopiaEx(2); do { fe.read(reinterpret_cast<char *> (buffer), 1024); leido = fe.gcount(); fs.write(reinterpret_cast<char *> (buffer), leido); while(leido); fe.close(); fs.close(); Facultad de Informática UCM, Excepciones 29 Ejemplo: excepciones en copia de ficheros Utilización en el programa Cómo capturar y tratar excepciones int main() { char Desde[] = "excepcion.cpp"; // Este fichero char Hacia[] = "excepcion.cpy"; try { CopiaFichero(Desde, Hacia); catch(copiaex &ex) { cout << ex.what() << endl; // (2) cin.get(); return 0; Facultad de Informática UCM, Excepciones 30 y Java En C++ no es necesario declarar previamente las excepciones (en Java si no son Runtime, sí) Los objetos de excepción pueden ser de cualquier tipo Valen también tipos primitivos como int o bool Se puede definir una clase de excepción que no herede de ninguna predefinida class error_limites { public : int lim_inferior ; int lim_superior ; int valor ; error_limites(int inf, int sup, int v) { lim_inferior=inf; lim_superior=sup; valor=v; // ejemplo de uso: if ( nota < 0 nota > 10 ) throw error_limites (0, 10, nota); Facultad de Informática UCM, Excepciones 31
Programació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 detallesEstructura de las Aplicaciones Orientadas a Objetos Excepciones
Estructura de las Aplicaciones Orientadas a Objetos Excepciones Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid
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 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 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 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 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 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 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 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 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 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 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 detallesTEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6 POO
TEMA 4 GESTIÓN DE ERRORES Cristina Cachero, Pedro J. Ponce de León 1 Sesión (1.5 horas) Versión 0.6 POO Gestión Errores Objetivos Saber utilizar try, throw y catch para observar, indicar y manejar excepciones,
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 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 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 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 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 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 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 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 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 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 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 detallesTEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6. Depto. Lenguajes y Sistemas Informáticos
TEMA 4 GESTIÓN DE ERRORES Cristina Cachero, Pedro J. Ponce de León 1 Sesión (1.5 horas) Versión 0.6 Depto. Lenguajes y Sistemas Informáticos Gestión Errores Objetivos Saber utilizar try, throw y catch
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 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 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 detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Contenidos: 1. Funciones y clases genéricas 2. Excepciones 3. Asertos 4. El puntero this 5. Redefinición
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 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 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 detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
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 detallesEl lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++
El lenguaje C++ A partir del lenguaje C Entorno de programación Visual C++ Nuevas palabras reservadas asm inline public virtual catch new template class operator this delete private throw friend protected
Más detallesTema 6 Corrección y Robustez Excepciones en Java. Programación Orientada a Objetos Curso 2016/2017
Tema 6 Corrección y Robustez Excepciones en Java Programación Orientada a Objetos Curso 2016/2017 Contenido Excepciones. Tratamiento de excepciones: try-catch. Jerarquías de excepciones y compatibilidad.
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 detallesTema 4 Corrección y Robustez. Programación Orientada a Objetos Curso 2010/2011
Tema 4 Corrección y Robustez Programación Orientada a Objetos Curso 2010/2011 Contenido Especificación formal. Asertos. Pruebas unitarias. Excepciones. Diseño por contrato. Curso 2010/2011 Programación
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 detallesTecnología de Programación
Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Contrato implícito En el diseño por contrato, toda rutina debe finalizar
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 detallesMASTER EN MODELIZACIÓN MATEMÁTICA, ESTADÍSTICA Y COMPUTACIÓN Curso: Bases de datos y programación orientada a objetos Parte POO
MASTER EN MODELIZACIÓN MATEMÁTICA, ESTADÍSTICA Y COMPUTACIÓN 2015-2016 Curso: Bases de datos y programación orientada a objetos Parte POO 3-Control de errores 3 Mecanismo de tratamiento de excepciones
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 detalles7. Manejo de excepciones y tratamiento de errores
206 PROGRAMACIÓN C++ Y COMUNICACIONES. 7. Manejo de excepciones y tratamiento de errores Uno de los aspectos que con más dificultad se abordan en los distintos lenguajes de programación es el correcto
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 detallesTema: Plantillas en C++.
Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de
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 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 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 detallesAPUNTES PROII 2º PARCIAL.
APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración
Más detallesManejo 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 Es un evento que nuestro programa no sabe como manejar. En Java, se define una excepción como un objeto que es la instancia de la clase Throwable o alguna de sus subclases. Las excepciones
Más detallesIntroducción a C++ Índice
Introducción a C++ 1. 2. 3. 4. 5. 6. Índice 1. Diferencias entre C y C++. 2. Diferencias entre C++ y Java. 3. Ejemplos. 4. Funciones. 5. Memoria dinámica 6. Librería de funciones. 1 1. Diferencias entre
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 detallesJava: control de excepciones
Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Introducción v Una excepción es un evento que ocurre
Más detallesLa Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:
La Herencia Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda
Más detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos
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 detallesQué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Más detallesEscuela Politécnica Nacional I. Bernal. Iván Bernal, Ph.D. 4
Programación Orientada a Objetos Clase # 9 Excepciones Miércoles, 23 de Octubre de 2002 Excepciones. Agenda Iván Bernal, Ph.D. Escuela Politécnica Nacional email: imbernal@mailfie.epn.edu.ec Copyright
Más detallesProgramación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Más detallesDurante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación.
TEMA 7: ERRORES 1. CONCEPTOS PREVIOS Durante este tema se van a tratar de 2 tipos de errores: los de ejecución y los lógicos. Ignoramos los errores de compilación. De ejecución: Son las excepciones que
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 detallesTema 5 Corrección y Robustez Excepciones en Java
Tema 5 Corrección y Robustez Excepciones en Java Parte I: Corrección del código Programación Orientada a Objetos Curso 2013/2014 Contenido Parte I: Corrección del código Introducción Excepciones runtime
Más detallesManejo de Excepciones
Manejo de Excepciones Agustín J. González ELO329 ELO329 1 Lectura sugerida Texto en línea: Eckel, Bruce. Thinking About C++, 2nd Edition, Prentice-Hall, 2000. Gratis en www.bruceeckel.com. ELO329 2 Manejo
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 detallesUniversidad de Cantabria corcuerp@unican.es
Excepciones Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Aprender el mecanismo de gestión de excepciones Aprender a lanzar
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 detallesProgramación 1 Tema 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación
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 detallesAlgoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos
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 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 detallesSolucion al Examen de Fundamentos de Computadores y Lenguajes
Solucion al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2006 1) Escribir una clase que permita almacenar una lista de jugadores
Más detallesFundamentos de la programación
Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros
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 detallesCorrección y Robustez
Programación Orientada a Objetos TEMA 4 Corrección y Robustez Facultad de Informática Universidad de Murcia Contenido 1. Introducción Fiabilidad = Corrección y Robustez 2. Asertos y Técnica de diseño por
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 detallesIntroducción a la Programación orientada a objetos con C++
Introducción a la Programación orientada a objetos con C++ Informática Industrial Ing. en automática y electrónica Industrial Isidro Calvo Informática Industrial 2006/07 2 Objetivos principales Exponer
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 detallesInstituto Tecnológico de Celaya
ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.
Más detallesImpresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)
3. Indicar la salida por pantalla (2 puntos-20 minutos) #include class EUITIelemento; class EUITIpila int num; EUITIelemento *pila[10]; EUITIpila():num(0); bool push(euitielemento *in) if(num>=10)return
Más detallesEjercicios de tratamiento de errores
Índice 1 Captura de excepciones (0.5 puntos)...2 2 Lanzamiento de excepciones (0.5 puntos)... 2 3 Excepciones como tipos genéricos en la aplicación filmotecas(0.5 puntos)...4 4 Excepciones anidadas en
Más detallesALMACENAMIENTO PERSISTENTE DE DATOS
UNIVERSIDAD DE MÁLAGA Dpto. Lenguajes y CC. Computación E.T.S.I. Telecomunicación ALMACENAMIENTO PERSISTENTE DE DATOS Tema 1 Programación II Programación II 0 Tema 1: ALMACENAMIENTO PERSISTENTE DE DATOS
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 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 detallesAlgunas ideas básicas de C++ Agustín J. González ELO-329
Algunas ideas básicas de C++ Agustín J. González ELO-329 1 Archivos de encabezado Son necesarios para hacer uso de constantes predefinidas. Son incluidos con la directiva del pre-procesador #include Ejemplo:
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 detallesNociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329
Nociones básicas sobre C++ Agustín J. González Patricio Olivares ELO-329 1 C++ vs C C++ es un lenguaje más actual que C C++ mantiene todo el poder de C agregando características que facilitan la programación.
Más detallesExcepciones e hilos. Acceso a la red - Ejercicios
Excepciones e hilos. Acceso a la red - Ejercicios Índice 1 Captura de excepciones (*)... 2 2 Lanzamiento de excepciones...2 3 Chat para el móvil... 3 1. Captura de excepciones (*) En el proyecto java-excepciones
Más detallesFundamentos de la programación
Fundamentos de la programación 3E Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Recorridos 404 Un
Más detallesConceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
Más detallesLENGUAJES DE PROGRAMACIÓN. Solución al examen de Junio 2014, Primera Semana
Solución al examen de Junio 2014, Primera Semana PREGUNTA 1 (3 puntos) Indique la veracidad o falsedad de cada una de las afirmaciones siguientes, explicando detalladamente en cada caso el motivo de su
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 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 detalles