Checked exception
ตรงข้ามกับ RuntimeException — checked exception ทุกประเภทต้องมีบล็อก try-catch ครอบไว้ มิฉะนั้นโค้ดจะคอมไพล์ไม่ผ่านและไม่สามารถรันได้เลย ในแบบฝึกหัดนี้ คุณจะเห็นว่าต้องเพิ่ม try/catch รอบ checked exception ไม่เช่นนั้นแอปพลิเคชันจะไม่สามารถคอมไพล์หรือรันได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ชนิดข้อมูลและการจัดการข้อยกเว้นใน Java
คำแนะนำการฝึกหัด
- รันโค้ดตัวอย่างโดยไม่ต้องแก้ไขใดๆ เพื่อดูว่าการเรียก
Class.forName()จำเป็นต้องมีการจัดการ หากไม่มีจะเกิด compile error (error: compilation failed) - Uncomment บล็อก try, catch และข้อความที่แสดงในบล็อก catch
- จากนั้นลองรันแอปพลิเคชันอีกครั้ง เพื่อดูว่าแอปพลิเคชันคอมไพล์และรันได้สำเร็จ เนื่องจาก checked exception ได้รับการจัดการแล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
public class CheckedExceptionHandling {
public static void main(String[] args) {
// Uncomment the try block
// try {
Class.forName("java.util.ArrayList");
// Uncomment the catch block for ClassNotFoundException
// } catch (ClassNotFoundException e) {
// Uncomment the message for the exception
// System.out.println("Work goes here to recover from the checked exception");
// Uncomment the end of the try/catch
// }
System.out.println("Work complete");
}
}