Mesej ralat: java.lang.NullPointerException - apa yang perlu dilakukan?
Pengkompil mengecek program bertulis untuk semua kecuali satu pengecualian runtime. Pengecualian semacam itu, contohnya, NullPointerException, yang dimiliki oleh pakej java.lang penting dalam bahasa pengaturcaraan Java.
Kapan penyusunnya membuang java.lang.NullPointerException?
Pengecualian sering berlaku semasa fasa ujian. Ini terpakai khususnya untuk NullPointerException, yang biasanya ditemui sebagai pemula apabila ia berkaitan dengan pengaturcaraan. Lebih khusus lagi, ia adalah pembolehubah yang menunjuk kepada objek kosong. Sebagai contoh, ralat berlaku dalam kes berikut:
- Apabila elemen sesuatu array diakses dan elemen tidak mempunyai nilai.
- Apabila menanyakan panjang array yang nilainya sifar.
- Jika objek dicipta tanpa pengendali Baru dan percubaan dibuat untuk melakukan operasi dengan pembolehubah rujukan.
- Dalam contoh kami, alat kawalan jauh praktikalnya ialah pembolehubah rujukan (penunjuk) yang menunjuk kepada objek pencetak sebenar. Pembolehubah ini digunakan untuk melakukan operasi seperti mengeluarkan mesej ralat pada pencetak, mengira tahap dakwat, dan lain-lain. Jika kawalan jauh menunjuk pada objek kosong atau tanpa objek, pembolehubah rujukan mempunyai nilai sifar.
Bagaimana untuk membetulkan mesej ralat
Pengecualian boleh ditangkap di bawah Java dengan " cuba {...} catch {(Exception e)} " blok. Walau bagaimanapun, kaedah ini tidak semestinya diperlukan dan juga mewujudkan overhead. Adalah lebih baik untuk menyimpan petua yang berikut:
- Semak sama ada objek anda telah dibuat. Sekiranya ini tidak berlaku, buatnya dengan menggunakan sintaks arahan " sampel objek nama = objek sampel baru (pembolehubah); ".
- Dengan mod debug, anda boleh menyemak baris kod anda mengikut baris dan melihat hasil pertengahan. Pastikan anda tidak menulis ganti objek yang dibuat atau simpan dengan nilai NULL. Ini bermakna objek itu tidak lagi tersedia dan arahan objek selanjutnya mencetuskan ralat.
- Petua: Sekiranya anda mengubah objek anda dengan kerap, gunakanlah semak objek anda sebelum dan selepas perubahan asas dengan menggunakan jika pertanyaan (" jika (contoh objek ! = NULL) {...} ").
Dalam hujung praktikal seterusnya kita akan menerangkan bagaimana anda boleh menggunakan Lambda Expressions di Jawa.