#include <exception>
#include <stdexcept>
#include <iostream>
void handle_exceptions() {
try {
throw;
} catch(const std::runtime_error& err) {
std::cout << "Handling runtime error " << err.what();
} catch(const std::logic_error& err) {
std::cout << "Handling logic error " << err.what();
}
}
void my_function() {
throw std::runtime_error("HI");
}
int main() {
try {
my_function();
} catch(...) { handle_exceptions();}
}
I2luY2x1ZGUgPGV4Y2VwdGlvbj4KI2luY2x1ZGUgPHN0ZGV4Y2VwdD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBoYW5kbGVfZXhjZXB0aW9ucygpIHsKICAgIHRyeSB7IAogICAgICAgIHRocm93OwogICAgfSBjYXRjaChjb25zdCBzdGQ6OnJ1bnRpbWVfZXJyb3ImIGVycikgewogICAgICAgIHN0ZDo6Y291dCA8PCAiSGFuZGxpbmcgcnVudGltZSBlcnJvciAiIDw8IGVyci53aGF0KCk7CiAgICB9IGNhdGNoKGNvbnN0IHN0ZDo6bG9naWNfZXJyb3ImIGVycikgewogICAgICAgIHN0ZDo6Y291dCA8PCAiSGFuZGxpbmcgbG9naWMgZXJyb3IgIiA8PCBlcnIud2hhdCgpOwogICAgfQp9Cgp2b2lkIG15X2Z1bmN0aW9uKCkgewogICAgdGhyb3cgc3RkOjpydW50aW1lX2Vycm9yKCJISSIpOwp9CgppbnQgbWFpbigpIHsKICAgIHRyeSB7CiAgICAgICAgbXlfZnVuY3Rpb24oKTsKICAgIH0gY2F0Y2goLi4uKSB7IGhhbmRsZV9leGNlcHRpb25zKCk7fQp9