Java.lang.NullPointerException Nasıl Çözülür?

Java Lang Nullpointerexception Nasil Cozulur



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