Identycznie jak "How do exceptions work (behind the scenes) in C++", ale dla C#.Jak działają wyjątki (za kulisami) w języku C#
Wiem, że poniższe kroki muszą zostać wykonane po zgłoszeniu wyjątku.
- Znajdź najbliższy program obsługi typu wyjątku;
- Odwiń stos do poziomu obsługi;
- Zadzwoń do obsługi;
- Znajdź i zadzwoń do każdego bloku
finally
.
W jaki sposób .NET obsługuje te operacje? Jak działa mapowanie dla "bieżących" procedur obsługi? Ile kodu jest wysyłanych w bloku try/catch? A w bloku do rzucania?
Przegapiłeś parę kroków, co najmniej: zobaczyć, czy są jakieś filtry wyjątków zainstalowany (dostają zaangażowane przed połowu bloki) i wykonać dowolne bloki w końcu, gdy stack się rozwija. –
Rzeczywiście, zapomniałem o blokach w końcu. Pozwól mi to poprawić. – jpbochi