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
    {
        fun();
    }
    catch (int )
    {
        cout << "Caught";
    }
    return 0;
}

(A) Error del compilador
(B) Sin error del compilador. La salida es «atrapada»

Respuesta: (B)
Explicación: el compilador de C++ no verifica la aplicación de una función para enumerar las excepciones que puede generar. En Java, se aplica.

Depende del programador especificar. Siendo un programador civilizado, un programador debe especificar la lista.
Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *