#include <iostream>
#include <memory>
#include <stdexcept>
void g() {
throw std::runtime_error(std::string("Bum!"));
}
void f() {
try {
std::unique_ptr<int> p(new int(7));
std::cout << *(static_cast<int*>(p.get())) << std::endl;
g();
} catch(std::runtime_error &e) {
std::cout << e.what() << "\n";
} catch(...) {
std::cout << "Случилось страшное!\n";
}
}
int main() {
f();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWVtb3J5PgojaW5jbHVkZSA8c3RkZXhjZXB0PgoKdm9pZCBnKCkgewogIHRocm93IHN0ZDo6cnVudGltZV9lcnJvcihzdGQ6OnN0cmluZygiQnVtISIpKTsKfQoKdm9pZCBmKCkgewogIHRyeSB7CQogICAgc3RkOjp1bmlxdWVfcHRyPGludD4gcChuZXcgaW50KDcpKTsKICAgIHN0ZDo6Y291dCA8PCAqKHN0YXRpY19jYXN0PGludCo+KHAuZ2V0KCkpKSA8PCBzdGQ6OmVuZGw7CiAgICBnKCk7CiAgfSBjYXRjaChzdGQ6OnJ1bnRpbWVfZXJyb3IgJmUpIHsKICAJc3RkOjpjb3V0IDw8IGUud2hhdCgpIDw8ICJcbiI7CiAgfSBjYXRjaCguLi4pIHsKICAJc3RkOjpjb3V0IDw8ICLQodC70YPRh9C40LvQvtGB0Ywg0YHRgtGA0LDRiNC90L7QtSFcbiI7CiAgfQp9CgppbnQgbWFpbigpIHsKICBmKCk7CiAgcmV0dXJuIDA7Cn0=