Правильная обработка исключений?
Лесенкой ловить от более частных к более общим. Последним перехватывается самое общее.
try {
....
} catch (exception & e) {
std::cout << "Всё абсолютно ОК!" << std::endl;
}