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

ความแตกต่างระหว่าง Checked และ Unchecked Exception ใน Java

Checked Exceptions

  • เกิดขึ้นตอนคอมไพล์ (Compile-time)
  • Compiler ตรวจสอบบังคับ
  • จัดการได้ตอนคอมไพล์ (try-catch หรือ throws)
  • เป็น subclass ของ Exception (แต่ไม่ใช่ RuntimeException)
  • JVM บังคับให้ catch/hande
  • ตัวอย่าง: FileNotFoundException, IOException

Unchecked Exceptions

  • เกิดขึ้นตอนรันไทม์ (Runtime)
  • Compiler ไม่ตรวจสอบ
  • ไม่สามารถ catch/handle ตอนคอมไพล์ได้ (แต่จัดการ runtime ได้)
  • เกิดจากข้อผิดพลาดโปรแกรม (logic errors)
  • เป็น subclass ของ RuntimeException
  • JVM ไม่บังคับให้ catch
  • ตัวอย่าง: NullPointerException, ArrayIndexOutOfBoundsException, NoSuchElementException

สรุป

คุณสมบัติChecked ExceptionUnchecked Exception
เวลาตรวจสอบCompile-timeRuntime
Compiler ตรวจสอบใช่ไม่
บังคับ handleใช่ไม่
SuperclassExceptionRuntimeException