DANFA

C++: Исключения и обработка ошибок

Цель урока:
Познакомиться с исключениями в C++ и научиться обрабатывать ошибки.

Что мы узнаем:
  • Что такое исключения и как их обрабатывать.
  • Блоки try, catch, throw.
  • Стандартные исключения.

Теоретическая часть:

Что такое исключения?


Исключения — это способ обработки ошибок в программе. Они позволяют перехватывать и обрабатывать ошибки, не останавливая программу.

Пример использования:
try {
    int result = 10 / 0;
} catch (const std::exception& e) {
    std::cout << "Ошибка: " << e.what() << std::endl;
}

Блоки try, catch, throw


Блок try содержит код, который может вызвать исключение. Блок catch перехватывает и обрабатывает исключение. Оператор throw генерирует исключение.

Пример использования:
try {
    throw std::runtime_error("Ошибка!");
} catch (const std::exception& e) {
    std::cout << "Ошибка: " << e.what() << std::endl;
}

Стандартные исключения


В C++ есть множество стандартных исключений, таких как std::runtime_error, std::logic_error, std::out_of_range.

Пример использования:
try {
    std::vector<int> vec;
    vec.at(10);  // Вызовет исключение std::out_of_range
} catch (const std::exception& e) {
    std::cout << "Ошибка: " << e.what() << std::endl;
}

Практическая часть:
Задача 1: Создайте программу, которая генерирует и перехватывает исключение.
#include <iostream>
#include <stdexcept>

int main() {
    try {
        throw std::runtime_error("Ошибка!");
    } catch (const std::exception& e) {
        std::cout << "Ошибка: " << e.what() << std::endl;
    }
    return 0;
}

Задача 2: Создайте программу, которая обрабатывает исключение std::out_of_range.
#include <iostream>
#include <vector>

int main() {
    try {
        std::vector<int> vec;
        vec.at(10);  // Вызовет исключение std::out_of_range
    } catch (const std::exception& e) {
        std::cout << "Ошибка: " << e.what() << std::endl;
    }
    return 0;
}

Итог урока:
Сегодня мы узнали, как обрабатывать исключения в C++. Эти знания помогут вам создавать более надёжные и стабильные программы.

Автор:  19.10.2025 07:00:24 am