Programlama dillerinde, hatalarla karşılaşmak, geliştiriciye yönlendirerek çeşitli işlevleri uygun şekilde yürütmemizi sağlar. Böyle bir durumda, geliştiricinin “ java.lang.NullPointerException 'belirli bir' üzerine hükümsüz toplu verilerle uğraşırken değer. Kod işlevlerini kolaylaştırmak için bu istisnanın ele alınması gerekir.
Bu blog, “ ile başa çıkma yaklaşımlarını detaylandıracak. java.lang.NullPointerException ”.
“Java.lang.NullPointerException” Nasıl Çözülür?
“ java.lang.NullPointerException ”, bir referans değişkeni çağrıldığında (veya referansı kaldırıldığında) ve herhangi bir nesneye atıfta bulunmadığında döndürülür.
“Java.lang.NullPointerException” gösterimi
Aşağıda verilen çizimde, tartışılan istisnanın nasıl gerçekleştiğini göreceğiz:
Dize s = null;
özelFunc ( S ) ;
statik geçersiz özelFunc ( dizi dizisi ) {
System.out.println ( str.uzunluk ( ) ) ;
}
Yukarıdaki kod parçacığında:
-
- İlk olarak, “ile bir dize başlatın. hükümsüz ' değer.
- Bir sonraki adımda, belirtilen dizgiyi bağımsız değişkeni olarak ileterek customFunc() işlevini çağırın.
- Bundan sonra, “adlı bir işlev tanımlayın. özelFunc() ” parametresi olarak iletilmesi gereken bir dize belirterek.
- İşlev tanımında, iletilen dizenin uzunluğunu ' uzunluk ' mülk.
- Bu kod, bir 'geçirerek' çalışacak şekilde çalışacaktır. hükümsüz ” değeri, tartışılan istisna atılacaktır:
Yukarıdaki çıktıda, “ NullPointerİstisna ” çağrıldığında atılır “ hükümsüz ” bir işlev argümanı olarak.
Yaklaşım 1: “try…catch” İfadelerini Kullanarak “java.lang.NullPointerException”ı çözün
“ denemek ” ifadesi, yürütülürken hatalar için test edilmesi gereken bir kod bloğunun tanımlanmasına yardımcı olur ve “ yakalamak try bloğunda bir sınırlama ile karşılaşılması durumunda ” ifadesi devreye girer. Daha spesifik olarak, “ java.lang.NullPointerException 'try' bloğunda istenen işlemi uygulayarak ve olası istisnayı 'catch' bloğuna yerleştirerek karşılanabilir.
Sözdizimi
denemek {Denenecek kod bloğu
}
yakalamak ( İstisna e ) {
Karşılaşılan istisnayı işlemek için kod bloğu içinde deneme bloğu
}
Örnek
Aşağıda belirtilen örneği gözden geçirelim:
Dize s = null;özelFunc ( S ) ;
statik geçersiz özelFunc ( dizi dizisi ) {
denemek {
System.out.println ( 'İlk karakter: ' + str.indexOf ( 0 ) ) ;
}
yakalamak ( NullPointerException e ) {
System.out.println ( 'NullPointerException atıldı!' ) ;
} }
Yukarıdaki kod satırlarında:
-
- Bir “ başlatmak için tartışılan yaklaşımları hatırlayın. hükümsüz ” değerini girin ve belirtilen işlevi, argümanı olarak boş değeri ileterek çağırın.
- Şimdi aynı şekilde “adlı bir fonksiyon tanımlayın. özelFunc() ” parametresi olarak iletilecek dizeye sahip olmak.
- Bundan sonra, “ denemek ' aracılığıyla bir dizgede belirtilen karakterin dizinini getirmek için ' deyimi indeksi() ' yöntem.
- “ denemek ” ifadesi, dize boş değilse yürütülebilir. Değer “ olduğundan hükümsüz ”, bu nedenle “ tarafından ele alınacak bir istisna ile karşılaşılacaktır. yakalamak ' ifade.
Çıktı
Yukarıdaki çıktıda, belirtilen istisnanın “ tarafından karşılandığı görülebilir. yakalamak ” ifadesi ve böylece atılır, böylece çözülür.
Yaklaşım 2: “if/else” İfadesini Kullanarak “java.lang.NullPointerException”ı çözün
Tartışılan istisna, “ aracılığıyla da sıralanabilir. eğer / başka ' ifade. Bu, '' alanında istenen işlemi basitçe gerçekleştirerek yapılabilir. eğer ” ifadesi ve karşılanmayan koşul üzerine, “ yoluyla bir istisna döndürülür. başka ' ifade.
Sözdizimi
eğer ( şart ) {Karşılanan koşul üzerine yürütülecek ifade, yani “cond”
}
başka {
Memnun kalmayana icra edilecek beyan 'eğer' durum.
}
Örnek
İstisnayla başa çıkma konusunda bir anlayışa sahip olmak için aşağıdaki örneği inceleyin:
Dize s = null;özelFunc ( S ) ;
statik geçersiz özelFunc ( dizi dizisi ) {
eğer ( str ! = boş ) {
System.out.println ( 'İlk karakter: ' + str.indexOf ( 0 ) ) ;
}
başka {
System.out.println ( 'NullPointerException atıldı!' ) ;
}
}
Aşağıda açıklanan adımları yukarıdaki kodda verildiği gibi uygulayın:
-
- Boş bir değer başlatmak ve işlevi '' ileterek çağırmak için tartışılan adımları tekrarlayın. hükümsüz ” argümanı olarak değer.
- Ardından, benzer şekilde ' işlevini bildirin. özelFunc() ” belirtilen parametreye sahip.
- Şimdi, “ eğer / başka ” beyanı öyle ki “ eğer ” ifadesi, karşılık gelen blok yürütür.
- Diğer durumda, “ başka ” bloğu devreye girecek ve tartışılan istisnayı atacaktır.
- ' daki koşula dikkat edin. eğer ” ifadesi önceki yaklaşımla aynıdır, bu nedenle onu yanlışlamaktadır.
Çıktı
Bu, ' java.lang.NullPointerException ”.
Çözüm
“ java.lang.NullPointerException ”, bir referans değişkeni çağrıldığında veya referansı kaldırıldığında ve herhangi bir nesneye atıfta bulunmadığında döndürülür. Bu istisna, “ içine yerleştirilerek ele alınabilir. dene…yakala ” ifadesi öyle ki yürütüldüğünde “ denemek ” bloğu, karşılaşılan istisna ikinci blok tarafından karşılanabilir. Ayrıca ' eğer / başka ” ifadesi, bu istisnayı “ içine yerleştirerek çözmek için kullanılabilir. başka ” ifadesi eğer “ eğer ” ifadesi yürütülemiyor. Bu blog, “ ile başa çıkma yaklaşımlarını tartıştı. java.lang.NullPointerException ”.