Czy finalizacja może zostać wywołana po tym, jak konstruktor zgłosi wyjątek?

Czy są jakieś szczegóły dotyczące tego, czy obiekt jest czyszczony przy użyciufinalize() jeśli konstruktor tego obiektu jest wyjątkiem.

Gdy nazywa się tę metodę, notorycznie jest źle zdefiniowany. Zgodnie z instrukcją:

Język programowania Java nie gwarantuje, że wątek wywoła metodę finalizacji dla danego obiektu. Gwarantuje się jednak, że wątek wywołujący finalizowanie nie będzie trzymał żadnych widocznych przez użytkownika blokad synchronizacji po wywołaniu finalizacji. Jeśli nieprzechwycony wyjątek zostanie zgłoszony przez metodę finalizacji, wyjątek jest ignorowany i finalizacja tego obiektu kończy się.

http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#finalize%28%29

W ten sposób nie udało mi się uruchomić metody finalizacji. Czy ktoś wie, czy nie jest wywoływany, aby nie był wywoływany lub czy w niektórych przypadkach jest wywoływany po tym, jak konstruktor nie zainicjował obiektu (wyjątek).

Pytam o to, ponieważ mam przedmiot, którego nie można dwukrotnie oczyścić. Próbuję zrozumieć, czy można bezpiecznie oczyścić przed wyrzuceniem wyjątku lub czy muszę zostawić znacznikfinalize() skutecznie pomijać i nic nie robić.

questionAnswers(3)

yourAnswerToTheQuestion