Как ловить и обрабатывать любые исключения?
В C++ с точки зрения языка у исключений нет базового класса или какого-то другого общего типа, представляющего всякое значение, летящее в исключении. Не забывайте, что выбросить вы можете, к примеру, целое число (хоть это и не рекомендуется).
Поэтому встречный вопрос - если форма значения в исключении заранее неизвестна, как можно сделать что-либо с этим значением? Что вы хотите "распознать", когда поймали исключение? Какую операцию вы хотите выполнить?
Вообще посмотрите на std::current_exception, но убедитесь, что оно вам подойдёт.
catch( std::exception & e )
{
}
catch(...)
{
}
Только так. Указать конкретные и/или базовые классы для перехвата конкретных типов исключений и (...) для перехвата всего остального.
На самом деле, ещё останутся структурные исключения, которые не перехватываются даже (...) и их нужно перехватывать отдельно...