Познакомиться с исключениями в 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++. Эти знания помогут вам создавать более надёжные и стабильные программы.