โดยเฉพาะมีการExceptionใช้คลาสย่อยมาตรฐานในสถานการณ์เหล่านี้หรือไม่?
nullและคุณใช้งานโดยไม่ตั้งใจ (หรือคนอื่นทำ) คุณจะได้รับNullPointerExceptionsซึ่งน้อยกว่าUnsupportedOperationExceptionsในกรณีนี้ เป็นเพียงตัวอย่าง
โดยเฉพาะมีการExceptionใช้คลาสย่อยมาตรฐานในสถานการณ์เหล่านี้หรือไม่?
nullและคุณใช้งานโดยไม่ตั้งใจ (หรือคนอื่นทำ) คุณจะได้รับNullPointerExceptionsซึ่งน้อยกว่าUnsupportedOperationExceptionsในกรณีนี้ เป็นเพียงตัวอย่าง
คำตอบ:
java.lang.UnsupportedOperationException
โยนเพื่อระบุว่าการดำเนินการที่ร้องขอไม่ได้รับการสนับสนุน
RuntimeExceptionคุณจะไม่ได้รับข้อเสนอแนะหรือความช่วยเหลือในการจัดการข้อยกเว้นเหล่านี้ในช่วงเวลารวบรวม หากสิ่งนี้ใช้สำหรับวิธีการสตับหรือความคืบหน้าในการทำงานคุณควรใช้ข้อยกเว้นที่ตรวจสอบบางประเภท
แยกความแตกต่างระหว่างสองกรณีที่คุณตั้งชื่อ:
หากต้องการระบุว่าไม่สนับสนุนการดำเนินการที่ร้องขอและอาจจะไม่เกิดUnsupportedOperationExceptionขึ้น
หากต้องการระบุว่ายังไม่ได้ใช้งานตามคำขอให้เลือกระหว่างสิ่งนี้:
ใช้NotImplementedExceptionจากapache commons-langซึ่งมีอยู่ใน commons-lang2 และได้รับการเพิ่มเข้าไปใน commons-lang3 อีกครั้งในเวอร์ชัน 3.2
NotImplementedExceptionการดำเนินการของคุณเอง
โยนUnsupportedOperationExceptionด้วยข้อความเช่น "ยังไม่ได้ใช้งาน"
หากคุณสร้างฟังก์ชั่นใหม่ (ยังไม่ได้ใช้) ในNetBeansมันจะสร้างเมธอดเนื้อหาด้วยคำสั่งต่อไปนี้:
throw new java.lang.UnsupportedOperationException("Not supported yet.");
ถ้าคุณต้องการความละเอียดมากขึ้นและดีกว่า decription คุณสามารถใช้ NotImplementedException จากcommons-lang
คำเตือน: มีรุ่นก่อน 2.6 และหลังรุ่น 3.2 เท่านั้น