РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
571 of 815 menu

Оператор try

Оператор try открывает блок кода, в котором могут возникнуть исключения. Этот блок всегда сопровождается одним или несколькими блоками catch, которые перехватывают и обрабатывают возникшие исключения. Если в блоке try исключение не возникает, блоки catch пропускаются. Если исключение возникает, управление немедленно передается соответствующему блоку catch. Оператор try не принимает параметров.

Синтаксис

try { // код, который может выбросить исключение } catch (тип исключения) { // обработка исключения }

Пример

Давайте выбросим исключение внутри блока try и перехватим его в блоке catch:

#include <iostream> using namespace std; int main() { try { throw 123; } catch (int e) { cout << "Caught: " << e << endl; } return 0; }

Результат выполнения кода:

"Caught: 123"

Пример

Давайте обработаем исключение типа runtime_error:

#include <iostream> #include <stdexcept> using namespace std; int main() { try { throw runtime_error("something went wrong"); } catch (runtime_error& e) { cout << e.what() << endl; } return 0; }

Результат выполнения кода:

"something went wrong"

Пример

Давайте покажем, что если исключение не возникает, блоки catch пропускаются:

#include <iostream> using namespace std; int main() { try { cout << "no exception" << endl; } catch (int e) { cout << "Caught: " << e << endl; } return 0; }

Результат выполнения кода:

"no exception"

Смотрите также

  • оператор throw,
    который выбрасывает исключение
  • оператор catch,
    который перехватывает исключение
  • класс exception,
    который является базовым для всех исключений
  • метод what,
    который возвращает описание исключения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить