#include using namespace std; class verbose { public: verbose() { cerr << "verbose constructed" << endl; } ~verbose() { cerr << "verbose destructed" << endl; } }; class test { class verbose x; public: test() { class verbose y; throw 42; } ~test() { cerr << "~test called" << endl; } }; int main() { try { class test t; } catch (int e) { cerr << "caught" << endl; } }