C++ | Manejo de excepciones | Pregunta 11

Lo que sucede en C++ cuando se lanza una excepción y no se detecta en ningún lugar como el siguiente programa. #include <iostream> using namespace std;    int fun() throw (int) {     throw 10; }    int main() {      fun();      return 0; }    (A) Error del compilador (B) Terminación anormal del programa … Continue reading «C++ | Manejo de excepciones | Pregunta 11»

C++ | Manejo de excepciones | Pregunta 12

Qué sucede cuando una función arroja un error pero no lo especifica en la lista de excepciones que puede arrojar. Por ejemplo, ¿cuál es el resultado del siguiente programa? #include <iostream> using namespace std;    // Ideally it should have been «int fun() (int)» int fun() {     throw 10; }    int main() {     try … Continue reading «C++ | Manejo de excepciones | Pregunta 12»

Error no declarado NULL en C/C++ y cómo resolverlo

Qué es un error no declarado: cuando usamos alguna constante en nuestro programa, tal vez sean constantes integradas y pueden ser creadas por un usuario de acuerdo con el requisito. Pero cuando usamos alguna constante, y no están integradas y tampoco definidas por un usuario en esa condición, obtenemos un error no declarado. A continuación … Continue reading «Error no declarado NULL en C/C++ y cómo resolverlo»

Excepción personalizada definida por el usuario con clase en C++

También podemos usar el manejo de excepciones con la clase. Incluso podemos lanzar una excepción de los tipos de clase definidos por el usuario . Para lanzar una excepción de, digamos , tipo de clase de demostración dentro del bloque de prueba , podemos escribir   throw demo(); Ejemplo 1: programa para implementar el manejo de … Continue reading «Excepción personalizada definida por el usuario con clase en C++»

Manejo de excepciones usando clases en C++

En este artículo, discutiremos cómo manejar las excepciones usando clases . Manejo de excepciones: Las excepciones son anomalías en tiempo de ejecución o condiciones anormales que encuentra un programa durante su ejecución. Hay dos tipos de excepciones: Excepción síncrona Excepción asíncrona (Ej: que están fuera del control del programa, falla del disco, etc.). C++ proporciona … Continue reading «Manejo de excepciones usando clases en C++»

Encabezado de excepción en C++ con ejemplos

C++ proporciona una lista de excepciones estándar definidas en el encabezado <excepción> en el espacio de nombres estándar, donde «excepción» es la clase base para todas las excepciones estándar. Todas las excepciones como bad_alloc , bad_cast , runtime_error , etc. generadas por la biblioteca estándar heredan de std::exception . Por lo tanto, todas las excepciones … Continue reading «Encabezado de excepción en C++ con ejemplos»

Relajación de pila en C++

Stack Unwinding es el proceso de eliminar entradas de función de la pila de llamadas de función en tiempo de ejecución. Los objetos locales se destruyen en el orden inverso al que fueron construidos.  Stack Unwinding generalmente está relacionado con el manejo de excepciones . En C++, cuando se produce una excepción, se busca linealmente … Continue reading «Relajación de pila en C++»

C++ | Manejo de excepciones | Pregunta 2

¿Cuál es la ventaja del manejo de excepciones? Elimine el código de manejo de errores de la línea de código principal del software. Un escritor de métodos puede elegir manejar ciertas excepciones y delegar otras a la persona que llama. Una excepción que ocurre en una función se puede manejar en cualquier parte de la … Continue reading «C++ | Manejo de excepciones | Pregunta 2»

C++ | Manejo de excepciones | Pregunta 5

#include <iostream> using namespace std;    int main() {     try     {        throw ‘a’;     }     catch (int param)     {         cout << «int exception\n»;     }     catch (…)     {         cout << «default exception\n»;     }     cout << «After Exception»;     return 0; } (A) default exception After Exception (B) int exception After Exception (C) int exception (D) default exception Respuesta: … Continue reading «C++ | Manejo de excepciones | Pregunta 5»

C++ | Manejo de excepciones | Pregunta 8

#include <iostream> using namespace std;    class Test { public:    Test() { cout << «Constructing an object of Test » << endl; }   ~Test() { cout << «Destructing an object of Test »  << endl; } };    int main() {   try {     Test t1;     throw 10;   } catch(int i) {     cout << «Caught » … Continue reading «C++ | Manejo de excepciones | Pregunta 8»