Źródło: Arkusze CKE
Co następuje, gdy błąd nie zostanie uchwycony przez blok catch?
Warianty odpowiedzi
-
A
Błąd zostanie zignorowany przez kompilator
-
B
Program zakończy działanie z błędem
-
C
Instrukcja throw zostanie automatycznie wykreślona
-
D
Program kontynuuje działanie, pomijając błąd
Wyjaśnienie
Gdy w kodzie zostanie zgłoszony wyjątek, program szuka odpowiedniego bloku catch, który potrafi go obsłużyć.
Jeśli takiego bloku brakuje lub żaden ze zdefiniowanych nie pasuje do typu zgłoszonego błędu, wyjątek pozostaje nieobsłużony.
W takiej sytuacji środowisko uruchomieniowe wywołuje funkcję wyłączającą program (np. std::terminate w C++), co skutkuje nagłym i niekontrolowanym zamknięciem aplikacji.