ใช่ บล็อกสุดท้ายจะถูกดำเนินการแม้หลังจากคำสั่งส่งคืนในเมธอด
ปิดกั้นในที่สุด จะดำเนินการเสมอแม้มีข้อยกเว้นเกิดขึ้นหรือไม่ใน Java ถ้าเราเรียก System.exit() วิธีการอย่างชัดเจนใน ในที่สุดก็ปิดกั้น เท่านั้นก็จะไม่ถูกประหารชีวิต มีบางสถานการณ์ที่สุดท้ายจะไม่ถูกดำเนินการเช่น JVM ขัดข้อง , ไฟฟ้าขัดข้อง , ซอฟต์แวร์ขัดข้อง และอื่นๆ นอกเหนือจากเงื่อนไขเหล่านี้ บล็อกในที่สุด จะถูกดำเนินการเสมอ
ตัวอย่าง
public class FinallyBlockAfterReturnTest { public static void main(String[] args) { System.out.println(count()); } public static int count() { try { return 1; } catch(Exception e) { return 2; } finally { System.out.println("Finally block will execute even after a return statement in a method"); } } }
ผลลัพธ์
Finally block will always excute even after a return statement in a method 1