java.lang.nullpointerexception ແມ່ນຂໍ້ຜິດພາດຂອງ Java ທີ່ເກີດຂື້ນເມື່ອແອັບພລິເຄຊັນ Java ພະຍາຍາມໃຊ້ null ແທນວັດຖຸ.
RuntimeException ແມ່ນຂະຫຍາຍໂດຍ NullPointerException, ເຊິ່ງເປັນປະເພດສາທາລະນະ.
NullPointerException ຖືກຍົກຂຶ້ນມາໃນຫຼາຍໆສະຖານະການ, ເຊັ່ນ: ເມື່ອທ່ານໂທຫາວິທີການຕົວຢ່າງຂອງວັດຖຸ null. ຄວາມຜິດພາດນີ້ຍັງຈະເກີດຂຶ້ນຖ້າວັດຖຸເປັນ null ແລະທ່ານພະຍາຍາມເຂົ້າເຖິງ ຫຼືແກ້ໄຂຊ່ອງຂໍ້ມູນຂອງວັດຖຸ null ນັ້ນ.
ຖ້າທ່ານພະຍາຍາມເອົາຄວາມຍາວຂອງອາເຣ null, ຂໍ້ຍົກເວັ້ນຈະຖືກຍົກຂຶ້ນມາເຊັ່ນກັນ.
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະເບິ່ງວິທີການຈັດການກັບຂໍ້ຍົກເວັ້ນ Null Pointer ໃນ Java.
ເມື່ອ java.lang.nullpointerexception ເກີດຂື້ນ?
ເມື່ອຕົວແປ java ທີ່ບໍ່ຊີ້ໄປຫາວັດຖຸໃດນຶ່ງຖືກເຂົ້າເຖິງເພື່ອດໍາເນີນການໃດໆ, java.lang.nullpointerexception ເກີດຂຶ້ນ.
ການຍົກເວັ້ນ Runtime java.lang.nullpointerexception ຂໍ້ຍົກເວັ້ນຂອງ runtime ແມ່ນ java.lang.nullpointerexception. ເມື່ອທ່ານກໍານົດຕົວແປແຕ່ບໍ່ກໍາຫນົດມັນໃຫ້ກັບວັດຖຸຈົນກ່ວາທ່ານພະຍາຍາມໃຊ້ມັນ, ທ່ານຈະໄດ້ຮັບ java nullpointerexception.
ທ່ານກຳລັງອ້າງອີງເຖິງນິຕິບຸກຄົນທີ່ບໍ່ມີຢູ່. ໃນ Java, null ຫມາຍເຖິງຄ່າສະເພາະ. ມັນຖືກນໍາໃຊ້ທົ່ວໄປທີ່ສຸດເພື່ອຊີ້ບອກວ່າຕົວແປອ້າງອີງບໍ່ໄດ້ຖືກຈັດສັນມູນຄ່າຫຼືບໍ່ໄດ້ກໍານົດຄ່າໃດໆ.
ເພື່ອຫຼີກເວັ້ນການເປັນ NullPointerException, ໃຫ້ແນ່ໃຈວ່າວັດຖຸທັງຫມົດໄດ້ຖືກເລີ່ມຕົ້ນຢ່າງຖືກຕ້ອງກ່ອນທີ່ຈະນໍາໃຊ້ຕົວແປ.
ຕໍ່ໄປນີ້ແມ່ນບາງສະຖານະການ NullPointerException ເລື້ອຍໆທີ່ສຸດ:
- ໄດ້ຮັບຄຸນສົມບັດຂອງວັດຖຸ null
- ການນໍາໃຊ້ວັດຖຸ null ເພື່ອໂທຫາວິທີການ
- ໃນວັດຖຸ null, ການນໍາໃຊ້ synchronized
- ການຖິ້ມ null ຈາກວິທີການຍົກເວັ້ນການຖິ້ມ
- ການໂຕ້ຖຽງ null ຖືກສົ່ງກັບວິທີການ.
- ການເຂົ້າເຖິງອົງປະກອບດັດສະນີຂອງວັດຖຸ null (ເຊັ່ນດຽວກັບ array)
- ສໍາລັບໂຄງຮ່າງການສີດແບບເພິ່ງພາອາໄສເຊັ່ນ 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 ໃນຫຼາຍໆບ່ອນ; ມັນໃຊ້ເວລາຫຼາຍທີ່ຈະເພີ່ມການກວດສອບ null ໃສ່ລະຫັດ.
ເພື່ອຈັດການກັບບັນຫາ, ໃຫ້ເພີ່ມແຖບຈັບໃສ່ມັນ.
ແກ້ໄຂ 4
ຖ້າຕົວແປ java ໃນແອັບພລິເຄຊັນຖິ້ມ java.lang.nullpointerexception, ໃຫ້ກວດເບິ່ງ null ກ່ອນທີ່ຈະໃຊ້ມັນ.
ໃຊ້ເສັ້ນທາງສຳຮອງຖ້າຕົວແປເປັນ null. java.nullpointerexception ຈະຖືກລຶບອອກ.
ສະຫຼຸບ
ໃນບົດຄວາມນີ້, ພວກເຮົາໄດ້ເບິ່ງ Java NullPointerException.
ນີ້ແມ່ນຂໍ້ຍົກເວັ້ນທີ່ເປັນອັນຕະລາຍທີ່ມັກຈະປາກົດຂຶ້ນເມື່ອພວກເຮົາຄາດຫວັງວ່າມັນໜ້ອຍທີ່ສຸດ. ສາເຫດທົ່ວໄປທີ່ສຸດຂອງຂໍ້ຍົກເວັ້ນ Null Pointer ແມ່ນການອ້າງອີງວັດຖຸ null ຫຼື null.
ພວກເຮົາໄດ້ເຫັນວິທີແກ້ໄຂທີ່ມີປະສິດທິພາບທີ່ສຸດແລ້ວ.
ອອກຈາກ Reply ເປັນ