Исключения в С++

Выбрасывание и ловля исключения.


#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();      // Выводим сообщение об исключении при его возникновении
    }
}
/* Вывод программы
9
too big
*/

Ловить все исключения можно одной из конструкций


catch(...){}
catch(std::exception e){}
2023-10-23



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

Ассемблерный листинг С++
Бенчмарки в С++
Рисование в консоли windows на С++
Функции в С++
Параметры функции в С++
Глоссарий С++. Идентификаторы, квалификаторы, модификаторы, объявление, определение и т.д..
Исключения в С++. Выбрасывание и ловля исключения.
Достоинства и недостатки C++
Сборка приложения без IDE C++ с помощью MinGW и Qt
Перегрузка функций и операторов в С++
Случайные числа в С++. Полиномиальная генерация случайных чисел.
Ссылки в С++
Рекурсия в С++. Примеры рекурсивных программ и без использования.
Шаблоны C++
Наименование переменных и стиль программирования
Версия компилятора С++
Время выполнения программы C++