Obsługa wyjątków w C++ służy do reagowania na sytuacje błędne lub nietypowe, które mogą wystąpić podczas działania programu, np. dzielenie przez zero, błąd odczytu pliku albo niepoprawne dane.
Najważniejsze słowa kluczowe związane z wyjątkami w C++ to:
try- oznacza blok kodu, w którym może wystąpić wyjątek,catch- przechwytuje i obsługuje wyjątek,throw- zgłasza wyjątek.
W pytaniach egzaminacyjnych często pojawia się para try i catch, ponieważ razem tworzą podstawowy mechanizm obsługi wyjątków.
Schemat działania
Kod, który może spowodować błąd, umieszcza się w bloku try. Jeśli w tym bloku zostanie zgłoszony wyjątek, program przechodzi do pasującego bloku catch.
Przykład
#include <iostream>
#include <stdexcept>
int main() {
try {
int dzielnik = 0;
if (dzielnik == 0) {
throw std::runtime_error("Dzielenie przez zero");
}
std::cout << 10 / dzielnik;
}
catch (const std::exception& e) {
std::cout << "Wystapil blad: " << e.what();
}
return 0;
}
Ważne na egzaminie
W standardowym C++ nie używa się słów kluczowych except, finally, raise ani handle do obsługi wyjątków. Są one kojarzone z innymi językami lub nie są poprawnymi słowami kluczowymi C++ w tym kontekście.
Poprawna para do obsługi wyjątków w C++ to najczęściej: try i catch.