Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ในที่สุดบล็อกจะดำเนินการหลังจากคำสั่งส่งคืนในเมธอดใน Java หรือไม่


ใช่ บล็อกสุดท้ายจะถูกดำเนินการแม้หลังจากคำสั่งส่งคืนในเมธอด

ปิดกั้นในที่สุด จะดำเนินการเสมอแม้มีข้อยกเว้นเกิดขึ้นหรือไม่ใน 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