#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) Compiler Error
Answer: (C)
Explanation: When an object is created inside a try block, destructor for the object is called before control is transferred to catch block.
Quiz of this Question