Что произошло бы, если исключение выдается во время выполнения, завершают ()? Стек, раскручиваются как обычно? Это продолжается, завершают () и игнорируют исключение? Это останавливается, завершают () и продолжают GC объект? Или что-то еще?
Я не ищу инструкции использования, завершают () существуют plently страниц, объясняющих это.
Из Object # finalize () javadoc:
Любое исключение, вызванное finalize метод вызывает завершение этого объект должен быть остановлен, но иначе игнорируется.
Правильный способ написания финализатора, если предположить, что у вас вообще есть веская причина его писать, следующий:
protected void finalize() throws Throwable
{
try
{
// my finalization code
}
finally
{
super.finalize();
}
}