#include <iostream>
using namespace std;
struct MyStruct {~MyStruct() {throw 1;}};
int main() {
try {
MyStruct myObject;
throw 2;
} catch (int& e) {
cout << "Caught exception: " << e << endl;
}
cout << "About to return" << endl;
return 0;
}
Will not print "About to return".The program will abort after the MyStruct Destructor throws the second exception during the processing of the first. If you comment out the 'throw 1;', you will see the '2' exception being caught and printed out; And then the "About to return" will be printed out.

No comments:
Post a Comment