Instrukcja throw w C++
Instrukcja throw w języku C++ służy do zgłoszenia wyjątku podczas działania programu. Wyjątek informuje, że wystąpiła sytuacja nietypowa lub błąd, którego nie chcemy obsługiwać zwykłą instrukcją if.
Najważniejsze: throw nie przechwytuje wyjątku, tylko go zgłasza. Przechwycenie odbywa się w bloku catch.
Składnia
throw wartosc;
Wartością może być np. liczba, tekst, obiekt klasy lub obiekt standardowego wyjątku.
Przykład
#include <iostream>
#include <stdexcept>
using namespace std;
int dziel(int a, int b) {
if (b == 0) {
throw runtime_error("Dzielenie przez zero");
}
return a / b;
}
int main() {
try {
cout << dziel(10, 0);
}
catch (runtime_error& e) {
cout << "Blad: " << e.what();
}
}
W tym przykładzie throw runtime_error(...) zgłasza wyjątek, a catch go przechwytuje i obsługuje.
Co warto zapamiętać na egzamin?
throwzgłasza wyjątek.catchprzechwytuje wyjątek.tryoznacza blok kodu, w którym wyjątek może wystąpić.- Jeśli wyjątek nie zostanie przechwycony, program może zostać zakończony.
Poprawne rozumienie: throw zgłasza wyjątek, który można przechwycić za pomocą bloku catch.