1) Ключевое слово try указывает на начало блока кода в котором обрабатываются исключения.
2) На один блок try может приходиться несколько блоков catch.
3) Ловить все исключения можно одной из конструкций:
catch(...){}
catch(std::exception e){}
#include <iostream> // std::cout
#include <stdexcept> // std::overflow_error
void func(int i){
if(i > 10){ // Если аргумент больше 10
return throw std::overflow_error("too big"); // Выбрасываем исключение
}
std::cout << i << '\n'; // Выводим аргумент
}
int main(){
try{ // Блок кода в котором ловим исключение
func(9); // 9 (Исключения не было)
func(11); // too big (Произошло исключение)
}
catch(std::overflow_error &e){ // Ловим исключение std::overflow_error
std::cout << e.what(); // Выводим сообщение об исключении при его возникновении
}
}