Instrukcja throw w C++

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

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?

  • throw zgłasza wyjątek.
  • catch przechwytuje wyjątek.
  • try oznacza 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.