Cytat z MSDN:C# wyjątek wyrzucania finalizatora?
Jeśli finalizacja lub przesłonięcie funkcji Finalize powoduje zgłoszenie wyjątku, środowisko wykonawcze ignoruje wyjątek, kończy metodę Finalize i kontynuuje proces finalizacji.
Jednak jeśli mam:
~Person()
{
throw new Exception("meh");
}
to skutkuje wyłączeniem wykonywania?
p.s. Wiem, że to nigdy nie powinno się zdarzyć, ale jestem ciekawy tego zachowania. Jeden z naszych klientów miał pustą próbę złapania wszystkich swoich finalizatorów .. nawet nie odnotował, kiedy coś poszło nie tak lub poprawił obiekt:/
Nie należy nigdy używać finalizerów. Nigdy, tak jak w, chyba że wiesz dokładnie, dlaczego musisz tego użyć. – Dykam
"to spowoduje wyjątek środowiska wykonawczego?" Czy mówisz, że próbowałeś tego i powoduje to wyjątek? Czy możesz poprosić nas o przetestowanie tego? – AaronLS
to powoduje wyjątek środowiska wykonawczego. Dykam, dzięki za informację, że nigdy nie powinienem używać finalizatorów ... lol! – sjhuk