#include <iostream>
#include <typeinfo>
#include <exception>
class MyExcept : public std::exception { };
int main() {
try {
throw std::exception();
} catch (std::exception &e) {
std::cout <<"case 1: " << typeid(e).name() << std::endl;
}
try {
throw MyExcept();
} catch (std::exception &e) {
std::cout <<"case 2: "<< typeid(e).name() << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+CiNpbmNsdWRlIDxleGNlcHRpb24+CiAKIAoKY2xhc3MgTXlFeGNlcHQgOiBwdWJsaWMgc3RkOjpleGNlcHRpb24geyB9OwoKaW50IG1haW4oKSB7CgogICAgdHJ5IHsKICAgIAl0aHJvdyBzdGQ6OmV4Y2VwdGlvbigpOwogICAgfSBjYXRjaCAoc3RkOjpleGNlcHRpb24gJmUpIHsKICAgCSAgICBzdGQ6OmNvdXQgPDwiY2FzZSAxOiAiIDw8IHR5cGVpZChlKS5uYW1lKCkgPDwgc3RkOjplbmRsOwogICAgfQogICAgIAogICAgdHJ5IHsKICAgIAl0aHJvdyBNeUV4Y2VwdCgpOwogICAgfSBjYXRjaCAoc3RkOjpleGNlcHRpb24gJmUpIHsKICAgCSAgICBzdGQ6OmNvdXQgPDwiY2FzZSAyOiAiPDwgdHlwZWlkKGUpLm5hbWUoKSA8PCBzdGQ6OmVuZGw7CiAgICB9Cgp9