เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้ finally ในตัวอย่างจริง

โดยทั่วไป finally block จะใช้เพื่อปิดและจัดการทรัพยากร เช่น ฐานข้อมูลหรือไฟล์ที่กำลังใช้งานอยู่ ไม่ว่าโปรแกรมจะทำงานตามปกติหรือเกิด exception ขึ้นก็ตาม

ในแบบฝึกหัดนี้ คุณจะจำลองการเปิดไฟล์ เขียนข้อความลงในไฟล์ และปิดไฟล์ ผ่านการเรียกใช้เมธอด โดยใช้ finally เพื่อปิดไฟล์จำลองเสมอ ไม่ว่าจะเกิด exception หรือไม่ก็ตาม

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เริ่มต้น try block เพื่อครอบคลุมโค้ดที่เปิดไฟล์และเขียนข้อมูลลงในไฟล์
  • ดักจับ exception ทุกประเภท ที่อาจเกิดขึ้นระหว่างการเปิดไฟล์จำลองและการเขียนข้อความ
  • เพิ่ม finally block เพื่อปิดไฟล์จำลอง ซึ่งจะถูกเรียกใช้เสมอไม่ว่าโปรแกรมจะทำงานได้ปกติ หรือเกิด exception ขึ้นขณะเปิดไฟล์หรือเขียนข้อมูล

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

public class FinallyCleanup {

	public static void main(String[] args) {
		String[] words = { "Lorem", "ipsum", "dolor", "sit", "amet" };
		// Open a try block
		____ {
			open();
			for (int i = 0; i <= words.length; i++) {
				writeToFile(words[i]);
			}
		// Catch any possible exception
		} ____ (____ ____) {
			System.out.println("Problem writing words to file");
		// Add a finally block to close the file
		} ____ {
			close();
		}
	}

	public static void open() {
		System.out.println("Our file is open");
	}

	public static void close() {
		System.out.println("Our file is closed");
	}

	public static void writeToFile(String text) {
		System.out.println(text + " has been written to the file");
	}
}
แก้ไขและรันโค้ด