java.lang.nullpointerexception เป็นข้อผิดพลาดของ Java ที่เกิดขึ้นเมื่อแอปพลิเคชัน Java พยายามใช้ค่า null แทนอ็อบเจ็กต์
RuntimeException ถูกขยายโดย NullPointerException ซึ่งเป็นคลาสสาธารณะ
NullPointerException เกิดขึ้นในสถานการณ์ต่างๆ เช่น เมื่อคุณเรียกใช้เมธอดอินสแตนซ์ของอ็อบเจกต์ null ข้อผิดพลาดนี้จะเกิดขึ้นหากวัตถุมีค่าว่างและคุณพยายามเข้าถึงหรือแก้ไขฟิลด์ของวัตถุว่างนั้น
หากคุณพยายามหาความยาวของอาร์เรย์ว่าง ข้อยกเว้นก็จะเพิ่มขึ้นเช่นกัน
ในบทความนี้ เราจะมาดูวิธีจัดการกับ Null Pointer Exception ใน Java
เมื่อ java.lang.nullpointerexception เกิดขึ้น?
เมื่อมีการเข้าถึงตัวแปร java ที่ไม่ได้ชี้ไปที่อ็อบเจกต์ใดๆ สำหรับการกระทำใดๆ java.lang.nullpointerexception จะเกิดขึ้น
ข้อยกเว้นรันไทม์ java.lang.nullpointerexception ข้อยกเว้นสำหรับรันไทม์คือ java.lang.nullpointerexception เมื่อคุณกำหนดตัวแปรแต่ไม่ได้กำหนดให้กับวัตถุจนกว่าคุณจะพยายามใช้งาน คุณจะได้รับ Java nullpointerexception
คุณกำลังอ้างถึงเอนทิตีที่ไม่มีอยู่จริง ใน Java ค่า null หมายถึงค่าเฉพาะ มักใช้เพื่อระบุว่าตัวแปรอ้างอิงไม่ได้รับการจัดสรรค่าหรือยังไม่ได้กำหนดค่าใดๆ
เพื่อหลีกเลี่ยง NullPointerException ตรวจสอบให้แน่ใจว่าอ็อบเจ็กต์ทั้งหมดได้รับการเตรียมใช้งานอย่างถูกต้องก่อนที่จะใช้ตัวแปร
ต่อไปนี้คือสถานการณ์จำลอง NullPointerException ที่พบบ่อยที่สุดบางส่วน:
- รับคุณสมบัติของวัตถุว่าง
- การใช้อ็อบเจกต์ว่างเพื่อเรียกเมธอด
- บนอ็อบเจ็กต์ null โดยใช้ synchronized
- การโยนค่า null จากวิธีการโยนข้อยกเว้น
- อาร์กิวเมนต์ Null จะถูกส่งไปยังเมธอด
- การเข้าถึงองค์ประกอบดัชนีของวัตถุ null (เหมือนในอาร์เรย์)
- สำหรับเฟรมเวิร์กการฉีดการพึ่งพาเช่น Spring การตั้งค่านี้ไม่ถูกต้อง
ตัวอย่างของ java.lang.nullpointerexception
NullPointerException จะถูกส่งออกไปหากมีการสร้างตัวแปร Java ที่ไม่อ้างถึงวัตถุและใช้เพื่อดำเนินการกิจกรรมบางอย่าง
ตัวอย่างต่อไปนี้พยายามกำหนดความยาวของสตริงที่ตั้งค่าเป็น null
การแก้ไข java.lang.nullpointerexception
แก้ไข 1
ค้นหาตัวแปร java ที่ส่งข้อยกเว้น java.lang หากซอฟต์แวร์แสดง NullPointerException ให้ตรวจสอบอีกครั้งว่าตัวแปรถูกจัดสรรให้กับค่าหรืออ็อบเจ็กต์
java.lang.nullpointerexception จะถูกปิด ถ้าค่าถูกกำหนดให้กับตัวแปร java
แก้ไข 2
ใช้ตัวดำเนินการ ternary เพื่อระบุค่าเริ่มต้นก่อนใช้ตัวแปร java เพื่อดำเนินการหากเป็น java.lang.nullpointerexception ถูกโยนเข้าไปในตัวแปร
ค่าของตัวแปรจะถูกใช้หากมี มิฉะนั้น เพื่อหลีกเลี่ยง java.lang.nullpointerexception ค่าดีฟอลต์จะถูกใช้
แก้ไข 3
หากคุณไม่แน่ใจว่าตัวแปรใดทำให้เกิด java.lang.nullpointerexception หรือมีโอกาสส่ง java.lang.nullpointerexception หรือมีความเสี่ยงที่จะโยน java.lang.nullpointerexception ในหลายที่ ใช้เวลานานในการเพิ่มการตรวจสอบค่าว่างในโค้ด
เพื่อจัดการกับปัญหา ให้เพิ่มบล็อก catch เข้าไป
แก้ไข 4
หากตัวแปร java ในแอปพลิเคชันส่ง java.lang.nullpointerexception ให้ตรวจสอบค่า null ก่อนใช้งาน
ใช้เส้นทางอื่นหากตัวแปรเป็นค่าว่าง java.nullpointerexception จะถูกลบออก
สรุป
ในบทความนี้ เราได้พิจารณา Java NullPointerException
นี่เป็นข้อยกเว้นที่เป็นอันตรายซึ่งมักปรากฏขึ้นเมื่อเราคาดไม่ถึง สาเหตุที่พบบ่อยที่สุดของ Null Pointer Exception คือ null object หรือ null reference
เราได้เห็นวิธีแก้ปัญหาที่มีประสิทธิภาพที่สุดแล้ว
เขียนความเห็น