Evet, sonunda bloklar her zaman çalışır ...
- Try-catch-nihayet bloğunu çalıştıran iş parçacığı öldü veya kesildi
- Kullan
System.exit(0);
- Temel VM başka bir şekilde yok edildi
- Temel donanım bir şekilde kullanılamaz
Ayrıca, nihayet bloğunuzdaki bir yöntem yakalanmamış bir istisna atarsa, bundan sonra hiçbir şey yürütülmez (yani istisna, diğer kodlarda olduğu gibi atılır). Bunun olduğu çok yaygın bir durum java.sql.Connection.close()
.
Bir yana, kullandığınız kod örneğinin sadece bir örnek olduğunu tahmin ediyorum, ama sonunda mantık yerine gerçek mantık koymaya dikkat edin. Son olarak blok, kaynak temizleme mantığı için değil, kaynak temizleme (DB bağlantılarını kapatma, dosya tanıtıcılarını serbest bırakma vb.) İçin tasarlanmıştır. Çalıştırılması gerekiyorsa, try-catch bloğundan önce, istisna atabilecek bir şeyden uzakta yapın, çünkü niyetiniz neredeyse kesinlikle işlevsel olarak aynıdır.