#include <iostream>
#include <stdexcept>
struct A
{
A() { std::cout << "A()\n"; }
~A() { std::cout << "~A()\n"; }
};
struct B
{
A a1;
B()
{
A a2;
throw std::runtime_error("noooo");
}
};
int main()
{
try {
B b;
} catch (std::runtime_error& e) {
std::cout << e.what() << '\n';
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RkZXhjZXB0PgoKc3RydWN0IEEKewogIEEoKSB7IHN0ZDo6Y291dCA8PCAiQSgpXG4iOyB9CiAgfkEoKSB7IHN0ZDo6Y291dCA8PCAifkEoKVxuIjsgfQp9OwoKc3RydWN0IEIKewogIEEgYTE7CiAgQigpCiAgewogICAgQSBhMjsKICAgIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcigibm9vb28iKTsKICB9Cn07CgppbnQgbWFpbigpCnsKICB0cnkgewogICAgQiBiOwogIH0gY2F0Y2ggKHN0ZDo6cnVudGltZV9lcnJvciYgZSkgewogICAgc3RkOjpjb3V0IDw8IGUud2hhdCgpIDw8ICdcbic7CiAgfQp9