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 " << i << endl;
  }
}

(A)

Caught 10

(B)

Constructing an object of Test 
Caught 10

(C)

Constructing an object of Test 
Destructing an object of Test 
Caught 10

(D) Error del compilador

Respuesta: (C)
Explicación: cuando se crea un objeto dentro de un bloque de prueba, se llama al destructor del objeto antes de transferir el control al bloque catch.
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 *