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 ”.