Cara Mengatasi java.lang.NullPointerException

Cara Mengatasi Java Lang Nullpointerexception



Dalam bahasa pemrograman, menghadapi kesalahan memungkinkan kami menjalankan berbagai fungsi secara tepat dengan meminta pengembang. Dalam kasus seperti itu, mungkin ada kejadian di mana pengembang dapat menghadapi “ java.lang.NullPointerException 'pada suatu' tertentu batal ” nilai saat menangani data massal. Pengecualian ini perlu ditangani untuk merampingkan fungsi kode.

Blog ini akan menguraikan pendekatan untuk mengatasi “ java.lang.NullPointerException ”.







Bagaimana Mengatasi 'java.lang.NullPointerException'?

java.lang.NullPointerException ” dikembalikan ketika variabel referensi dipanggil (atau de-referenced) dan tidak merujuk ke objek apa pun.



Demonstrasi 'java.lang.NullPointerException'

Dalam ilustrasi yang diberikan di bawah ini, kita akan melihat bagaimana pengecualian yang dibahas terjadi:



Tali s = nol;
customFunc ( S ) ;
fungsi kustom batal statis ( String str ) {
System.out.println ( str.panjang ( ) ) ;
}


Dalam cuplikan kode di atas:





    • Pertama, inisialisasi string dengan “ batal ' nilai.
    • Pada langkah selanjutnya, aktifkan fungsi customFunc() dengan meneruskan string yang dideklarasikan sebagai argumennya.
    • Setelah itu, tentukan fungsi bernama “ customFunc() ” dengan menentukan string yang perlu diteruskan sebagai parameternya.
    • Dalam definisi fungsi, kembalikan panjang string yang diteruskan melalui ' panjang ' Properti.
    • Kode ini akan berfungsi sedemikian rupa sehingga dengan melewati ' batal ” ke fungsi, pengecualian yang dibahas akan dilemparkan:


Pada output di atas, dapat diamati bahwa “ NullPointerException ” dilemparkan saat memohon “ batal ” sebagai argumen fungsi.

Pendekatan 1: Selesaikan Pernyataan “java.lang.NullPointerException” Menggunakan “try…catch”

mencoba ” pernyataan membantu dalam menentukan blok kode yang perlu diuji untuk kesalahan saat dieksekusi dan ' menangkap ” pernyataan mulai berlaku jika ada batasan yang ditemui di blok try. Lebih khusus lagi, “ java.lang.NullPointerException ” dapat dipenuhi dengan menerapkan operasi yang diinginkan di blok 'coba' dan menempatkan kemungkinan pengecualian di blok 'tangkap'.



Sintaksis

mencoba {
Blok kode untuk dicoba
}
menangkap ( Pengecualian e ) {
Blok kode untuk menangani pengecualian yang dihadapi di dalam blok percobaan
}


Contoh

Mari kita tinjau contoh yang disebutkan di bawah ini:

Tali s = nol;
customFunc ( S ) ;
fungsi kustom batal statis ( String str ) {
mencoba {
System.out.println ( 'Karakter pertama:' + str.indexOf ( 0 ) ) ;
}
menangkap ( NullPointerException e ) {
System.out.println ( 'NullPointerException dilempar!' ) ;
} }


Pada baris kode di atas:

    • Ingat pendekatan yang dibahas untuk menginisialisasi ' batal ” nilai dan aktifkan fungsi yang dinyatakan dengan meneruskan nilai nol sebagai argumennya.
    • Sekarang, juga, tentukan fungsi bernama “ customFunc() ” memiliki string yang akan diteruskan sebagai parameternya.
    • Setelah itu, terapkan ' mencoba ” pernyataan untuk mengambil indeks dari karakter yang ditentukan dalam string melalui ' Indeks() ' metode.
    • Perhatikan bahwa “ mencoba ” Pernyataan dapat dieksekusi jika string bukan nol. Karena nilainya adalah “ batal ”, sehingga akan ditemui exception yang akan ditangani oleh “ menangkap ' penyataan.

Keluaran


Pada keluaran di atas, dapat dilihat bahwa pengecualian yang ditentukan dipenuhi oleh ' menangkap ” pernyataan dan itu dilemparkan, dengan demikian menyelesaikannya.

Pendekatan 2: Selesaikan Pernyataan 'java.lang.NullPointerException' Menggunakan 'if/else'

Pengecualian yang dibahas juga dapat diselesaikan melalui ' jika / lain ' penyataan. Ini dapat dilakukan hanya dengan melakukan operasi yang diinginkan di ' jika ” dan setelah kondisi tidak terpenuhi, pengecualian dikembalikan melalui “ kalau tidak ' penyataan.

Sintaksis

jika ( kondisi ) {
Pernyataan yang akan dieksekusi setelah kondisi terpenuhi yaitu 'cond'
}
kalau tidak {
Pernyataan yang akan dieksekusi atas ketidakpuasan 'jika' kondisi.
}


Contoh

Telusuri contoh berikut untuk memahami cara mengatasi pengecualian:

Tali s = nol;
customFunc ( S ) ;
fungsi kustom batal statis ( String str ) {
jika ( str ! = nol ) {
System.out.println ( 'Karakter pertama:' + str.indexOf ( 0 ) ) ;
}
kalau tidak {
System.out.println ( 'NullPointerException dilempar!' ) ;
}
}


Terapkan langkah-langkah yang dibahas di bawah ini seperti yang diberikan dalam kode di atas:

    • Ulangi langkah-langkah yang dibahas untuk menginisialisasi nilai null dan menjalankan fungsi dengan meneruskan “ batal ” nilai sebagai argumennya.
    • Selanjutnya, nyatakan juga fungsi “ customFunc() ” memiliki parameter yang ditentukan.
    • Sekarang, terapkan ' jika / lain ” pernyataan sedemikian rupa sehingga pada kondisi puas di “ jika ” pernyataan, blok yang sesuai dieksekusi.
    • Dalam kasus lain, “ kalau tidak ” blok akan mulai berlaku dan membuang pengecualian yang dibahas.
    • Perhatikan bahwa kondisi di “ jika ” pernyataan identik dengan pendekatan sebelumnya, sehingga memalsukannya.

Keluaran


Begitulah cara Anda menangani ' java.lang.NullPointerException ”.

Kesimpulan

The “ java.lang.NullPointerException ” dikembalikan ketika variabel referensi dipanggil atau direferensikan dan tidak merujuk ke objek apa pun. Pengecualian ini dapat ditangani dengan menempatkannya di “ coba tangkap ” pernyataan sedemikian rupa sehingga setelah menjalankan ' mencoba ”, pengecualian yang dihadapi dapat dipenuhi oleh blok terakhir. Juga ' jika / lain ” pernyataan dapat digunakan untuk menyelesaikan pengecualian ini dengan menempatkannya di ' kalau tidak pernyataan ” jika “ jika ” pernyataan gagal dijalankan. Blog ini membahas pendekatan untuk mengatasi “ java.lang.NullPointerException ”.