ตามที่ระบุไว้แล้วในคำตอบอื่น ไม่แนะนำให้จับ NullPointerException อย่างไรก็ตามคุณสามารถจับมันได้อย่างแน่นอนดังตัวอย่างต่อไปนี้ แม้ว่า NPE จะถูกจับได้ แต่คุณไม่ควรทำเช่นนั้น แต่แก้ไขปัญหาเบื้องต้นซึ่งเป็นวิธี Check_Circular
NullPointerException เป็นข้อยกเว้นที่ตรวจสอบหรือไม่
คำตอบ: NullPointerException ไม่ใช่ข้อยกเว้นที่เลือก มันเป็นทายาทของ RuntimeException และไม่ได้เลือก
ในกรณีใดที่ NullPointerException จะถูกส่งออกไป
ข้อยกเว้นตัวชี้ค่า null เกิดขึ้นเมื่อแอปพลิเคชันพยายามใช้ค่า null ในกรณี ที่จำเป็นต้องมีวัตถุ ซึ่งรวมถึง: การเรียกเมธอดอินสแตนซ์ของอ็อบเจกต์ว่าง การเข้าถึงหรือแก้ไขฟิลด์ของวัตถุ null
ข้อยกเว้นจับข้อยกเว้นทั้งหมดหรือไม่
เนื่องจาก Exception เป็นคลาสพื้นฐานของข้อยกเว้นทั้งหมด จะจับข้อยกเว้นใดๆ.
ทำไมคุณไม่ควรจับข้อยกเว้น
catch(ข้อยกเว้น) เป็น แนวปฏิบัติที่ไม่ดีเพราะมันจับ RuntimeException ทั้งหมด (ยกเว้นที่ไม่ได้เลือก) ด้วย นี่อาจเป็นจาวาเฉพาะ: บางครั้งคุณจะต้องเรียกใช้เมธอดที่มีข้อยกเว้นที่ตรวจสอบแล้ว หากสิ่งนี้อยู่ในเลเยอร์ EJB / ตรรกะทางธุรกิจของคุณ คุณมี 2 ตัวเลือก - จับหรือโยนใหม่