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

เราขอลองบล็อกที่ไม่มีบล็อกจับใน Java ได้ไหม


ใช่ เป็นไปได้ที่จะลองบล็อกโดยไม่มีบล็อกดักจับโดยใช้บล็อกสุดท้าย

อย่างที่เราทราบกันดีว่าบล็อกสุดท้ายจะดำเนินการเสมอแม้ว่าจะมีข้อยกเว้นเกิดขึ้นในบล็อกการลอง ยกเว้น System.exit() บล็อกจะทำงานเสมอ

ตัวอย่างที่ 1

public class TryBlockWithoutCatch {
   public static void main(String[] args) {
      try {
         System.out.println("Try Block");
      } finally {
         System.out.println("Finally Block");
      }
   }
}

ผลลัพธ์

Try Block
Finally Block

บล็อกสุดท้ายจะดำเนินการเสมอแม้ว่าเมธอดจะมีประเภทการส่งคืน และลองบล็อกจะคืนค่าบางส่วน

ตัวอย่างที่ 2

public class TryWithFinally {
   public static int method() {
      try {
         System.out.println("Try Block with return type");
         return 10;
      } finally {
         System.out.println("Finally Block always execute");
      }
   }
   public static void main(String[] args) {
      System.out.println(method());
   }
}

ผลลัพธ์

Try Block with return type
Finally Block always execute
10