SlideShare una empresa de Scribd logo
TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 5: Excepciones
PROGRAMACIÓN ORIENTADA A OBJETOS
Competencia de la unidad:
Comprende y aplica la clasificación de archivos y operaciones
básicas sobre éstos para manipular su información.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué son las Excepciones?
• Ocasionalmente es posible que ciertas instrucciones no funcionen
adecuadamente o se encuentren con problemas de ejecución no
contemplados. C++ proporciona un mecanismo para manejar este tipo
de situaciones o errores en tiempo de ejecución llamado Excepciones.
• El mecanismo de excepciones está basado en las palabras clave: try,
catch y throw.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué son las Excepciones?
• La forma en que trabaja éste mecanismo es que cuando ocurre un
evento o error inesperado C++ busca un segmento de código neutral,
esto es, la sección final del mecanismo, el bloque catch.
• Si todo salió bien y no se presentaron errores, únicamente se ejecutará
el código del bloque try, por lo tanto en éste caso el bloque catch es
completamente ignorado.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué son las Excepciones?
• Es importante señalar que los únicos errores que se pueden controlar
son los producidos en tiempo de ejecución dentro del propio programa,
conocidos como errores síncronos.
• Es imposible controlar errores debido al mal funcionamiento del sistema
por cortes eléctricos, bloqueos de la computadora, etc.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Podemos decir que el programa se prepara para cierta acción, decimos
que "lo intenta". Para ello se especifica un bloque de código cuya
ejecución se va a intentar ("try‐block") utilizando la palabra clave try:
PROGRAMACIÓN ORIENTADA A OBJETOS
• Un ejemplo sencillo sería la operación en la que se dividen dos
números, no puede realizarse una división entre cero por lo que C++
regresa un error crítico que provoca el cierre de la aplicación en caso de
no ser controlado por medio de una excepción.
PROGRAMACIÓN ORIENTADA A OBJETOS
El bloque catch
• Mediante la palabra clave catch especificamos el código encargado de
reaccionar ante una determinada excepción o conjunto de excepciones.
• En C++ es obligatorio que tras un bloque try se incluya al menos un
bloque catch, por lo que la sintaxis anterior quedaría completa de la
siguiente forma:
PROGRAMACIÓN ORIENTADA A OBJETOS
Lanzamiento de una excepción throw()
• Las excepciones no sólo las lanzan las funciones incluidas dentro de las
librerías externas, sino que nosotros podemos querer informar que algo
no ha ido bien dentro de la lógica de nuestro programa, esto se realiza
por medio de la instrucción throw().
PROGRAMACIÓN ORIENTADA A OBJETOS
El sistema tiene un número de excepciones predefinidas, que pueden, a su
vez, ser base para nuevas excepciones definidas por el programador.
• logic_error(str): son, en teoría, predecibles y por lo tanto evitables
mediante chequeos adecuados insertados en lugares estratégicos.
(#include <stdexcept>)
 domain_error(str)
 invalid_argument(str)
 length_error(str)
 out_of_range(str)
PROGRAMACIÓN ORIENTADA A OBJETOS
• runtime_error(str): son errores impredecibles y la única alternativa es
su manejo en tiempo de ejecución. (#include <stdexcept>)
 range_error(str)
 overflow_error(str)
 underflow_error(str)
• bad_alloc(): lanzada en fallo en new (#include <new>)
• bad_cast(): lanzada en fallo en dynamic_cast (#include <typeinfo>)
• bad_typeid(): lanzada en fallo en typeid (#include <typeinfo>)
• bad_exception(): lanzada en fallo en la especificacion de excepciones
lanzadas por una función. (#include <exception>)
PROGRAMACIÓN ORIENTADA A OBJETOS
Excepciones definidas por el lenguaje
• Como ya lo vimos en diapositivas anteriores es posible utilizar las
excepciones que el propio lenguaje C++ proporciona para ciertos
aspectos, como verificar si se produce un error al asignar memoria a un
vector, etc.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Ejemplo: vemos el ejemplo de como validar por medio de excepciones un
programa crea arreglos y les asigna memoria, en este caso utilizamos
punteros debido a que los arreglos se crean de forma dinámica por lo que
se debe asignar un espacio de memoria para cada uno.
• Definición de puntero: Un puntero es una variable que contiene la
dirección de memoria de un dato o de otra variable que contiene al dato en
un arreglo.
PROGRAMACIÓN ORIENTADA A OBJETOS
#include <iostream>
#include <exception>
using namespace std;
class arreglos {
public:
double *ptr[50];
arreglos();
void dinamico();
};
arreglos::arreglos() { }
PROGRAMACIÓN ORIENTADA A OBJETOS
void arreglos::dinamico() {
try {
for (int i= 0 ; i < 50; i++) {
// asignación dinámica de memoria
ptr[i] = new double[50000000];
cout << "Reservando memoria "
<< i << endl;
}
} catch (bad_alloc ex){
cout << "Error: " << ex.what() << endl;
}
}
int main()
{
arreglos arr;
arr.dinamico();
return 0;
}
Ejemplo:
Excepciones lanzadas por el usuario
Ejemplo de como lanzar excepciones: Se lanzará una excepción al momento de
capturar un numero menor o igual a cero.
try {
cout << “capture num: ”;
cin>>num;
fflush(stdin);
if (num <=0) throw invalid_argument(“Numero no valido”);
} catch (invalid_argument e) {
cout << “Error: ” << e.what();
}
PROGRAMACIÓN ORIENTADA A OBJETOS
• Otra forma de lanzar excepciones es disparándolas en una función
independiente, la cual se encarga de evaluar los argumentos necesarios
y determinar si hay o no que lanzar la excepción.
• struct: esta orden se emplea para agrupar variables de tipos
iguales o diferentes en un solo registro, con la misma se
pueden crear estructuras anónimas o estructuras con nombre;
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo de como lanzar una excepción por medio de un método auxiliar
PROGRAMACIÓN ORIENTADA A OBJETOS
//creamos una clase que contenga un struct
class valNum {
public:
struct NUM_NOVALIDO { };
valNum();
valNum(int x);
int num;
};
valNum::valNum(){ // contructor
num=0;
}
// metodo que lanza la excepción en caso de recibir un
// entero menor o igual a cero
valNum::validar(int x) {
if (num <= 0) {
throw NUM_NOVALIDO();
}
}
// capturamos un número entero y se llama la validación
int main() {
valNum v;
try {
cout<<"Número: ";
cin >> v.num;
fflush(stdin);
v.validar(v.num);
} catch ( ... ) {
// evalua cualquier tipo de excepcion recibida
cout << "Error inesperado" << endl;
}
cin.get();
}
Ejercicio:
• Realice un programa utilizando POO, debe capturar un número y
obtener su factorial.
• El factorial de un número (n!) es la multiplicación de los número que
van del 1 a dicho número.
• El programa debe validar desde una función independiente que no se
capturen números menores o iguales a cero, en caso de hacerlo debe
devolver una excepción y mostrar un error en pantalla.
• Debe incluir un menú que permita calcular un número indeterminado
de factoriales.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
• Realice un programa utilizando POO, debe capturar dos números y
realice la división de ambos.
• Cuando un número es dividió entre cero C++ produce un error, en este
caso debes realizar la división en una función que regresa el resultado,
en caso de recibir un divisor cero debes lanzar una excepción y
regresarla al punto donde llamaste la función y mandar el mensaje a la
pantalla.
PROGRAMACIÓN ORIENTADA A OBJETOS
Proyecto para manejo de excepciones
• Utilizando POO desarrolle un programa que capture un número, y después
pregunte a que raíz se le desea convertir.
• Los números negativos reales tienen la propiedad de que no pueden ser
convertidos a raíces pares.
• Cuando un número negativo sea capturado y se intente convertir a una raíz
par debes lanzar una excepción e indicar en pantalla que no es posible
realizar el cálculo.
• Debes utilizar todos los recursos que C++ te proporciona para lograr validar
y lanzar la excepción.
PROGRAMACIÓN ORIENTADA A OBJETOS

Más contenido relacionado

La actualidad más candente

arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
marhoz
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
Universidad Veracruzana
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
Mariela Cabezas
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
compumet sac
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
José Antonio Sandoval Acosta
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
Vannesa Salazar
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
José Antonio Sandoval Acosta
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Alexandra Pérez
 
Cuestionario
CuestionarioCuestionario
Cuestionario
Jose Nava
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacenciaFrank Doria
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
Angel Vázquez Patiño
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
Vanessa Ramirez
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
Esteban Andres Diaz Mina
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
Alvaro Enrique Ruano
 

La actualidad más candente (20)

arboles avl con codigo en java
arboles avl con codigo en javaarboles avl con codigo en java
arboles avl con codigo en java
 
Funciones del DBA, SA Y DA
Funciones del DBA, SA Y DAFunciones del DBA, SA Y DA
Funciones del DBA, SA Y DA
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Presentacion arbol-binario
Presentacion arbol-binarioPresentacion arbol-binario
Presentacion arbol-binario
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
 
Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)Clases abstractas e interfaces (AlexandraPerez)
Clases abstractas e interfaces (AlexandraPerez)
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Lista de adyacencia
Lista de adyacenciaLista de adyacencia
Lista de adyacencia
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 

Destacado

Simulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadraticoSimulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadratico
José Antonio Sandoval Acosta
 
Mercadotecnia Electronica - Tecnologias de integracion
Mercadotecnia Electronica - Tecnologias de integracionMercadotecnia Electronica - Tecnologias de integracion
Mercadotecnia Electronica - Tecnologias de integracion
José Antonio Sandoval Acosta
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
José Antonio Sandoval Acosta
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
José Antonio Sandoval Acosta
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
José Antonio Sandoval Acosta
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
José Antonio Sandoval Acosta
 
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónTema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
José Antonio Sandoval Acosta
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
José Antonio Sandoval Acosta
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
José Antonio Sandoval Acosta
 
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
José Antonio Sandoval Acosta
 
Planificación sobre la reflexión de la luz
Planificación sobre la reflexión de la luzPlanificación sobre la reflexión de la luz
Planificación sobre la reflexión de la luz
ALCIBAR ALMEIDA
 
Unidad 2. planeación de un ambiente de aprendizaje
Unidad 2. planeación de un ambiente de aprendizajeUnidad 2. planeación de un ambiente de aprendizaje
Unidad 2. planeación de un ambiente de aprendizajeROSA IMELDA GARCIA CHI
 
10 ejercicios resueltos en cpp
10 ejercicios resueltos en cpp10 ejercicios resueltos en cpp
10 ejercicios resueltos en cpp
José Antonio Sandoval Acosta
 
00001 b 1 ing.sistemas f j 2014 mata ito-ac-po-004-08 formato int didact...
00001  b   1 ing.sistemas   f j 2014 mata ito-ac-po-004-08 formato int didact...00001  b   1 ing.sistemas   f j 2014 mata ito-ac-po-004-08 formato int didact...
00001 b 1 ing.sistemas f j 2014 mata ito-ac-po-004-08 formato int didact...Ruber Duck
 
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionM4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
José Antonio Sandoval Acosta
 
Cuestionario acerca de metodologías ágiles de desarrollo de software
Cuestionario acerca de metodologías ágiles  de desarrollo de softwareCuestionario acerca de metodologías ágiles  de desarrollo de software
Cuestionario acerca de metodologías ágiles de desarrollo de software
José Antonio Sandoval Acosta
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
José Antonio Sandoval Acosta
 
Simulación - Algoritmo lineal
Simulación - Algoritmo linealSimulación - Algoritmo lineal
Simulación - Algoritmo lineal
José Antonio Sandoval Acosta
 
Portafolio tema 1
Portafolio tema 1Portafolio tema 1

Destacado (20)

Simulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadraticoSimulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadratico
 
Mercadotecnia Electronica - Tecnologias de integracion
Mercadotecnia Electronica - Tecnologias de integracionMercadotecnia Electronica - Tecnologias de integracion
Mercadotecnia Electronica - Tecnologias de integracion
 
Como hacer un Mapa Mental
Como hacer un Mapa MentalComo hacer un Mapa Mental
Como hacer un Mapa Mental
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015 M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
M2 actividad 2.3 INSTRUMENTACIÓN DIDÁCTICA 2015
 
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de EvaluaciónTema 4.3.1. Actividad 2: Instrumentos de Evaluación
Tema 4.3.1. Actividad 2: Instrumentos de Evaluación
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movilTópicos Avanzados de Programación - Unidad 5 Programacion movil
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
 
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
M4 actividad 4.4.1 INTEGRACIÓN DE LOS INSTRUMENTOS DE EVALUACIÓN AL PROYECTO ...
 
Planificación sobre la reflexión de la luz
Planificación sobre la reflexión de la luzPlanificación sobre la reflexión de la luz
Planificación sobre la reflexión de la luz
 
Unidad 2. planeación de un ambiente de aprendizaje
Unidad 2. planeación de un ambiente de aprendizajeUnidad 2. planeación de un ambiente de aprendizaje
Unidad 2. planeación de un ambiente de aprendizaje
 
10 ejercicios resueltos en cpp
10 ejercicios resueltos en cpp10 ejercicios resueltos en cpp
10 ejercicios resueltos en cpp
 
00001 b 1 ing.sistemas f j 2014 mata ito-ac-po-004-08 formato int didact...
00001  b   1 ing.sistemas   f j 2014 mata ito-ac-po-004-08 formato int didact...00001  b   1 ing.sistemas   f j 2014 mata ito-ac-po-004-08 formato int didact...
00001 b 1 ing.sistemas f j 2014 mata ito-ac-po-004-08 formato int didact...
 
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionM4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
 
Cuestionario acerca de metodologías ágiles de desarrollo de software
Cuestionario acerca de metodologías ágiles  de desarrollo de softwareCuestionario acerca de metodologías ágiles  de desarrollo de software
Cuestionario acerca de metodologías ágiles de desarrollo de software
 
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluaciónM4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
M4 4.2 actividad 2 Presentación Asertum - Hexágono de evaluación
 
Planeación didáctica química i unidad 1
Planeación didáctica química i unidad 1Planeación didáctica química i unidad 1
Planeación didáctica química i unidad 1
 
Simulación - Algoritmo lineal
Simulación - Algoritmo linealSimulación - Algoritmo lineal
Simulación - Algoritmo lineal
 
Portafolio tema 1
Portafolio tema 1Portafolio tema 1
Portafolio tema 1
 

Similar a Programación Orientada a Objetos - Unidad 5 Excepciones

Errores
ErroresErrores
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
jbersosa
 
Excepciones en Java
Excepciones en JavaExcepciones en Java
Excepciones en Java
Juan Aragón Cruz
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
Edgardo Martinez
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Uniminuto - San Francisco
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
5 Mecanismos Reuntilizacion Abstraccion Final
5 Mecanismos Reuntilizacion Abstraccion Final5 Mecanismos Reuntilizacion Abstraccion Final
5 Mecanismos Reuntilizacion Abstraccion FinalUVM
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
Eric Gustavo Coronel Castillo
 
11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad
Luis Fernando Aguas Bucheli
 
Clase 5
Clase 5Clase 5
Clase 5
Jaime Lara
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vb
gerardd98
 
Java5
Java5Java5
Java5
jbersosa
 
Excepciones
ExcepcionesExcepciones
Excepcioneskattybe
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepciones
Jyoc X
 
Excepciones
ExcepcionesExcepciones
Excepciones
Ronny Parra
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Excepciones
ExcepcionesExcepciones
Excepcionesrilara
 

Similar a Programación Orientada a Objetos - Unidad 5 Excepciones (20)

Errores
ErroresErrores
Errores
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Excepciones en Java
Excepciones en JavaExcepciones en Java
Excepciones en Java
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejerciciosCu00927 c gestion excepciones java try catch finally ejemplos ejercicios
Cu00927 c gestion excepciones java try catch finally ejemplos ejercicios
 
Tipos de excepciones
Tipos de excepcionesTipos de excepciones
Tipos de excepciones
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
5 Mecanismos Reuntilizacion Abstraccion Final
5 Mecanismos Reuntilizacion Abstraccion Final5 Mecanismos Reuntilizacion Abstraccion Final
5 Mecanismos Reuntilizacion Abstraccion Final
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
Resumen claudia u5
Resumen claudia u5Resumen claudia u5
Resumen claudia u5
 
11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad
 
Clase 5
Clase 5Clase 5
Clase 5
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vb
 
Java5
Java5Java5
Java5
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Excepciones
ExcepcionesExcepciones
Excepciones
 

Más de José Antonio Sandoval Acosta

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
José Antonio Sandoval Acosta
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
José Antonio Sandoval Acosta
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
José Antonio Sandoval Acosta
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
José Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
José Antonio Sandoval Acosta
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
José Antonio Sandoval Acosta
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
José Antonio Sandoval Acosta
 
Economia
EconomiaEconomia
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
José Antonio Sandoval Acosta
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
José Antonio Sandoval Acosta
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
José Antonio Sandoval Acosta
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
José Antonio Sandoval Acosta
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
José Antonio Sandoval Acosta
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
José Antonio Sandoval Acosta
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
José Antonio Sandoval Acosta
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
José Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
gabrielperedasanchez
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
DeyvisPalomino2
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
FacundoPortela1
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
GROVER MORENO
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
mirellamilagrosvf
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
SamuelHuapalla
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
Eder288265
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
everchanging2020
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
ssuserebb7f71
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
AlfonsoRosalesFonsec
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
ivan848686
 

Último (20)

Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptxMedicina Peruana en el siglo XX y XXI- Julio Gabriel  Pereda Sanchez.pptx
Medicina Peruana en el siglo XX y XXI- Julio Gabriel Pereda Sanchez.pptx
 
Sesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdfSesiones 3 y 4 Estructuras Ingenieria.pdf
Sesiones 3 y 4 Estructuras Ingenieria.pdf
 
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Edafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden HistosolesEdafología - Presentacion Orden Histosoles
Edafología - Presentacion Orden Histosoles
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdfHITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
HITO DE CONTROL N° 011-2024-OCI5344-SCC SAN PATRICIO.pdf
 
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDADPRESENTACION REUNION DEL COMITE DE SEGURIDAD
PRESENTACION REUNION DEL COMITE DE SEGURIDAD
 
Análisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operacionesAnálisis de Sensibilidad clases de investigacion de operaciones
Análisis de Sensibilidad clases de investigacion de operaciones
 
OPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasasOPEN_PIT.pdf..------asasasasasasasasasasasas
OPEN_PIT.pdf..------asasasasasasasasasasasas
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
Vehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebralVehiculo para niños con paralisis cerebral
Vehiculo para niños con paralisis cerebral
 
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaaEspecificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
Especificacioes tecnicas.pdfaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
Mapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIASMapa de carreteras de Colombia 2022 INVIAS
Mapa de carreteras de Colombia 2022 INVIAS
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas01-introduccion-a-la-perforacion.pdf de minas
01-introduccion-a-la-perforacion.pdf de minas
 

Programación Orientada a Objetos - Unidad 5 Excepciones

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Programación Orientada a Objetos Unidad 5: Excepciones PROGRAMACIÓN ORIENTADA A OBJETOS
  • 2. Competencia de la unidad: Comprende y aplica la clasificación de archivos y operaciones básicas sobre éstos para manipular su información. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 3. ¿Qué son las Excepciones? • Ocasionalmente es posible que ciertas instrucciones no funcionen adecuadamente o se encuentren con problemas de ejecución no contemplados. C++ proporciona un mecanismo para manejar este tipo de situaciones o errores en tiempo de ejecución llamado Excepciones. • El mecanismo de excepciones está basado en las palabras clave: try, catch y throw. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 4. ¿Qué son las Excepciones? • La forma en que trabaja éste mecanismo es que cuando ocurre un evento o error inesperado C++ busca un segmento de código neutral, esto es, la sección final del mecanismo, el bloque catch. • Si todo salió bien y no se presentaron errores, únicamente se ejecutará el código del bloque try, por lo tanto en éste caso el bloque catch es completamente ignorado. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 5. ¿Qué son las Excepciones? • Es importante señalar que los únicos errores que se pueden controlar son los producidos en tiempo de ejecución dentro del propio programa, conocidos como errores síncronos. • Es imposible controlar errores debido al mal funcionamiento del sistema por cortes eléctricos, bloqueos de la computadora, etc. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 6. • Podemos decir que el programa se prepara para cierta acción, decimos que "lo intenta". Para ello se especifica un bloque de código cuya ejecución se va a intentar ("try‐block") utilizando la palabra clave try: PROGRAMACIÓN ORIENTADA A OBJETOS
  • 7. • Un ejemplo sencillo sería la operación en la que se dividen dos números, no puede realizarse una división entre cero por lo que C++ regresa un error crítico que provoca el cierre de la aplicación en caso de no ser controlado por medio de una excepción. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 8. El bloque catch • Mediante la palabra clave catch especificamos el código encargado de reaccionar ante una determinada excepción o conjunto de excepciones. • En C++ es obligatorio que tras un bloque try se incluya al menos un bloque catch, por lo que la sintaxis anterior quedaría completa de la siguiente forma: PROGRAMACIÓN ORIENTADA A OBJETOS
  • 9. Lanzamiento de una excepción throw() • Las excepciones no sólo las lanzan las funciones incluidas dentro de las librerías externas, sino que nosotros podemos querer informar que algo no ha ido bien dentro de la lógica de nuestro programa, esto se realiza por medio de la instrucción throw(). PROGRAMACIÓN ORIENTADA A OBJETOS
  • 10. El sistema tiene un número de excepciones predefinidas, que pueden, a su vez, ser base para nuevas excepciones definidas por el programador. • logic_error(str): son, en teoría, predecibles y por lo tanto evitables mediante chequeos adecuados insertados en lugares estratégicos. (#include <stdexcept>)  domain_error(str)  invalid_argument(str)  length_error(str)  out_of_range(str) PROGRAMACIÓN ORIENTADA A OBJETOS
  • 11. • runtime_error(str): son errores impredecibles y la única alternativa es su manejo en tiempo de ejecución. (#include <stdexcept>)  range_error(str)  overflow_error(str)  underflow_error(str) • bad_alloc(): lanzada en fallo en new (#include <new>) • bad_cast(): lanzada en fallo en dynamic_cast (#include <typeinfo>) • bad_typeid(): lanzada en fallo en typeid (#include <typeinfo>) • bad_exception(): lanzada en fallo en la especificacion de excepciones lanzadas por una función. (#include <exception>) PROGRAMACIÓN ORIENTADA A OBJETOS
  • 12. Excepciones definidas por el lenguaje • Como ya lo vimos en diapositivas anteriores es posible utilizar las excepciones que el propio lenguaje C++ proporciona para ciertos aspectos, como verificar si se produce un error al asignar memoria a un vector, etc. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 13. • Ejemplo: vemos el ejemplo de como validar por medio de excepciones un programa crea arreglos y les asigna memoria, en este caso utilizamos punteros debido a que los arreglos se crean de forma dinámica por lo que se debe asignar un espacio de memoria para cada uno. • Definición de puntero: Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 14. #include <iostream> #include <exception> using namespace std; class arreglos { public: double *ptr[50]; arreglos(); void dinamico(); }; arreglos::arreglos() { } PROGRAMACIÓN ORIENTADA A OBJETOS void arreglos::dinamico() { try { for (int i= 0 ; i < 50; i++) { // asignación dinámica de memoria ptr[i] = new double[50000000]; cout << "Reservando memoria " << i << endl; } } catch (bad_alloc ex){ cout << "Error: " << ex.what() << endl; } } int main() { arreglos arr; arr.dinamico(); return 0; } Ejemplo:
  • 15. Excepciones lanzadas por el usuario Ejemplo de como lanzar excepciones: Se lanzará una excepción al momento de capturar un numero menor o igual a cero. try { cout << “capture num: ”; cin>>num; fflush(stdin); if (num <=0) throw invalid_argument(“Numero no valido”); } catch (invalid_argument e) { cout << “Error: ” << e.what(); } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 16. • Otra forma de lanzar excepciones es disparándolas en una función independiente, la cual se encarga de evaluar los argumentos necesarios y determinar si hay o no que lanzar la excepción. • struct: esta orden se emplea para agrupar variables de tipos iguales o diferentes en un solo registro, con la misma se pueden crear estructuras anónimas o estructuras con nombre; PROGRAMACIÓN ORIENTADA A OBJETOS
  • 17. Ejemplo de como lanzar una excepción por medio de un método auxiliar PROGRAMACIÓN ORIENTADA A OBJETOS //creamos una clase que contenga un struct class valNum { public: struct NUM_NOVALIDO { }; valNum(); valNum(int x); int num; }; valNum::valNum(){ // contructor num=0; } // metodo que lanza la excepción en caso de recibir un // entero menor o igual a cero valNum::validar(int x) { if (num <= 0) { throw NUM_NOVALIDO(); } } // capturamos un número entero y se llama la validación int main() { valNum v; try { cout<<"Número: "; cin >> v.num; fflush(stdin); v.validar(v.num); } catch ( ... ) { // evalua cualquier tipo de excepcion recibida cout << "Error inesperado" << endl; } cin.get(); }
  • 18. Ejercicio: • Realice un programa utilizando POO, debe capturar un número y obtener su factorial. • El factorial de un número (n!) es la multiplicación de los número que van del 1 a dicho número. • El programa debe validar desde una función independiente que no se capturen números menores o iguales a cero, en caso de hacerlo debe devolver una excepción y mostrar un error en pantalla. • Debe incluir un menú que permita calcular un número indeterminado de factoriales. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 19. Práctica: • Realice un programa utilizando POO, debe capturar dos números y realice la división de ambos. • Cuando un número es dividió entre cero C++ produce un error, en este caso debes realizar la división en una función que regresa el resultado, en caso de recibir un divisor cero debes lanzar una excepción y regresarla al punto donde llamaste la función y mandar el mensaje a la pantalla. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 20. Proyecto para manejo de excepciones • Utilizando POO desarrolle un programa que capture un número, y después pregunte a que raíz se le desea convertir. • Los números negativos reales tienen la propiedad de que no pueden ser convertidos a raíces pares. • Cuando un número negativo sea capturado y se intente convertir a una raíz par debes lanzar una excepción e indicar en pantalla que no es posible realizar el cálculo. • Debes utilizar todos los recursos que C++ te proporciona para lograr validar y lanzar la excepción. PROGRAMACIÓN ORIENTADA A OBJETOS