Zitat von MSDN:
Wenn Finalize oder eine Überschreibung von Finalize eine Ausnahme auslöst, ignoriert die Laufzeitumgebung die Ausnahme, bricht die Finalize-Methode ab und setzt den Finalisierungsprozess fort.
Doch wenn ich es habe:
~Person()
{
throw new Exception("meh");
}
dann führt dies zu einer Laufzeitausnahme?
p.s. Ich weiß, dass dies nie passieren sollte, aber ich bin einfach neugierig auf dieses Verhalten. Einer unserer Kunden hatte einen leeren Try-Catch um alle seine Finalizer es wurde nicht einmal protokolliert, wenn etwas schief ging oder das Objekt wiederhergestellt :/