MANEJO DE EXCEPCIONES EN C++

Slides:



Advertisements
Presentaciones similares
Introducción a C#.
Advertisements

Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Ayudantía Pre-Actividad 5 Multimedios. Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones.
Exceptions y Assertions Introducción a la terminología Bloques: try, catch Uso de finally Bloques: try, catch, finally Categorías de Exceptions Excepciones.
EXCEPCIONES UNIDAD 5.
Programación Interactiva Manejo de Excepciones
Instrucciones y excepciones
Programación en Java Instructor:.
Excepciones Las excepciones son señales (en forma de objeto) que se generan en ejecución en casos de errores, para que puedan ser gestionadas en el programa.
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
Informática II Prof. Dr. Gustavo Patiño MJ
INFORMATICA I Funciones CLASE 13.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD LATINA (UNILA)
EXCEPCIÓN DE ERRORES.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Manejo de excepciones en Java
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación EXCEPCIONES EN JAVA Diciembre de 2008.
1 TEMA 5. Seguridad en Java 1.Introducción a los Controladores de Seguridad 2.Decidir qué Métodos Sobreescribir del SecurityManager 3.Escribir un Controlador.
Signal, kill, sigaction y máscara de señales
Manejo de Excepciones Agustín J. González ELO329.
Programación III Clase 07 Funciones.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
Conversión cadena a número
Tema 11: Excepciones Antonio J. Sierra.
Introducción a Java (2ª parte) - excepciones, colecciones, i/o, … -
El lenguaje de programación Java
Programación Orientada a Objetos Temario Excepciones – Definición. – Funcionalidad – Tipos de Excepciones – API de las Excepciones – Captura de Excepciones.
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
USO DE EXCEPCIONES EN JAVA LSC. Natalia Rodríguez Castellón.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
Programación orientada a objetos Capítulo 12 Manejo de errores.
Módulo 8: Manejo de Errores y Excepciones
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González.
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
ING.CIP.IVAN PETRLIK AZABACHE. SEMANA 4 MANEJO DE EXCEPCIONES Y ERRORES.
Unidad III Manejo de Excepciones en Java y C++
Excepciones Unidad 5.
Sintaxis Completa los siguientes esquemas: Esquema de excepción Excepción Definición Tipos Implementación En el lenguaje Java, excepción es un tipo de.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Programación Interactiva Manejo de Excepciones Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
ELO3291 Manejo de Excepciones Lectura sugerida de texto en linea: Eckel, Bruce. Thinking About C++, 2nd Edition, Prentice-Hall, Gratis en
Programación avanzada en Java Miguel Ángel Corella 26 de Septiembre de 2005.
Manejo de errores: Excepciones en Java
Programación orientada a objetos Capítulo 12 Manejo de errores.
Tratamiento de excepciones
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos.
ELO3291 Manejo de Excepciones Agustín J. González ELO329.
MANEJO DE EXCEPCIONES. 21/11/2005 E.T.S de Ingenieros de Telecomunicacion.2 Índice ¿Qué es una excepción? Tipos de situaciones. Manejo de excepciones.
¿Qué son? – tipos – manejo - ejemplos
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Algoritmos y Programación III 4. Colecciones, excepciones Carlos Fontela, 2006.
Manejo Excepciones Profesor Elian Rojas Berroca 11/02/2015.
Desarrollador Profesional de Juegos Programación III Unidad I El manejador universal.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Desarrollador Profesional de Juegos Programación III Unidad I Capturar Excepciones.
Desarrollador Profesional de Juegos Programación III Unidad I Excepciones Tipos.
SCITMina | by Microsoft Bienvenidos Eduardo Daniel Tenorio Mayo Microsoft Student Partner Taller de Programación Orientada a Objetos Con C# Edgar Edel.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
Excepciones Diseño y manejo de excepciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 5 Versión
Manejo de Excepciones Agustín J. González ELO329 ELO329.
Manejo de Excepciones Agustín J. González ELO329.
Manejo de Excepciones Agustín J. González ELO329.
Manejo de Excepciones Agustín J. González ELO329 ELO329.
Transcripción de la presentación:

MANEJO DE EXCEPCIONES EN C++

C++ Se intenta ejecutar un bloque de código Se produce la circunstancia excepcional Se desvía la ejecución del programa a un sitio especifico

try {          // bloque de código que se intenta ... if (condición) throw ¨……..¨ ; } catch (...) { // bloque manejador de posibles excepciones ...           // continua la ejecución normal

Ejemplo: # include <stdio.h> bool pass; class Out{ }; void festival (bool);   int main( ) {            try {                        pass = true;       festival (true);    } catch(Out o) {       pass = false;         }                       return pass ? (puts("Acierto!"),0) : (puts("Fallo!"),1);  }   void festival (bool firsttime){          if (firsttime) throw Out( ); Salida: Fallo!

Secuencia normal del bloque-intento (Try-block) A:  Se produce una circunstancia excepcional: Se lanza la excepción señalada por la sentencia throw El programa busca por un manejador ("handler") adecuado a la excepción Se encuentra el ¨handler¨ : La pila (stack) es recorrida hacia abajo hasta el punto donde está el manejador. El control del programa es transferido al manejador.

Secuencia normal del bloque-intento (Try-block) No se encuentra ningún manejador: Se invoca la función terminate(): Se ha establecido una función t_func por defecto con set_terminate(). terminate invoca t_func (que debe terminar el programa). No se ha establecido ninguna función por defecto con set_terminate() terminate invoca la función abort(). B:  No se produce ninguna excepcion: El programa sigue su ejecución normal (saltándose los bloques catch que pudieran seguir).

#include <except. h> #include <process #include <except.h> #include <process.h> #include <stdio.h> bool pass; class Out{}; void final();              void festival(bool);       void test();               int main() {                  set_terminate(final);      test();                    return pass ? (puts("Salir del test"),0) : (puts("Seguir el test"),1); } void final(){   puts("*** Nadie captura la excepción ***");   abort(); } void festival (bool firsttime) { if (firsttime) throw Out(); } void test () { festival(true); }

Manejador de excepciones (“handler”) try {                   // bloque-intento    ...                    // posibles errores } catch (TipoX x) {        // capturar errores X     ... catch (TipoY y) {        // capturar errores Y    ... ...                      // sigue aquí

El manejador universal: catch (...) { <sentencias> }

#include <stdio.h> bool pass; class Out{}; void festival(bool firsttime) { if(firsttime) throw Out(); } void test()    try { festival(true); }    catch(...){ pass = true; }  // puede capturar cualquier excepción } int main() {                    // ==================    pass = false;    test();    return pass ? (puts("Excepción capturada"),0) :                  (puts("no hay excepción") ,1); }

Aunque es factible lanzar cualquier tipo de excepción, la librería estandar de C++ ofrece unas clases para este propósito: Exception Logic error Bad exception Runtime error Out of range Bad alloc Range error Domain error Bad cast Overflow error Length error Bad typeid Underflow error Invalid argument