#include <iostream>
class foo {
public:
foo() {
throw int(42);
}
};
int main() {
try {
new foo();
} catch (int) {
std::cout << "int caught" << std::endl;
} catch (std::bad_alloc &) {
std::cout << "bad alloc" << std::endl;
} catch (...) {
std::cout << "something else" << std::endl;
}
return 0;
}