Cześć :)
Rozważmy taką sytuację:
Jakaś funkcja rzuca wyjątek. Następnie odbywa się poszukiwanie catcha, który obsłuży nasz wyjątek. Odbywa się to tak:
- Jeżeli znaleziono catch'a odpowiedniego- oddaje mu się sterowanie, a potem jeżeli obsłua nie przerywa programu wykonywany jest kod po catchu.
- Jeżeli nie znaleziono catch, funkcja zostaje zwijana ( a konkretnie ramka na stosie) , przeszukiwana kolejna funkcja. W końcu dochodzimy do funkcji main(). Jeżeli tam nie ma obsługi program zostaje zakończony. W tym celu wywoływana jest specjalna funkcja- coś w rodzaju terminate(), czy mogę sam zdefiniować taką funkcję tak, żeby była ona wywoływana?
Jak to wygląda pod gcc/clang