Her Java’cının Çilesi java.lang.NullPointerException Hatası

34rfdqq

Java ile uğraşıp java.lang.NullPointerException Hatası almayan var mı bilemiyorum ancak benim başıma oldukça geldi. Java ile kodlama yapanların değil hatta kullananların bile bu hatalar ile karşılaşması mümkün.

Java’nın en popüler hatası olan java.lang.NullPointerException Hatası’nın çözümü aslında kolay. Yazılımızda class yapısı kullanıyorsanız ve o class’dan bir nesne türettiğinizi daha sonra sildiğinizi varsayalım. Bu işlemden sonra tekrar kullanma girişiminde bu hatayı alırsınız. Yapısına göre farklılık göstersede mantık budur. Türetilmeyen bir nesneyi kullanmak, türetildikten sonra null’layıp tekrar kullanmaya çalışmak bize bu hatayı verir.

İpucu olarak’da “null” bize çok şey çağırıştırır. Null görüyorsanız boş bir kodunuz var demektir. Boş olan bir kodu kullanmaya çalışıyorsunuz demektir bu.

Kullanıcılarda bu hata ile karşılışabilir demiştim. Bunun nedeni ise yaptığınız Java programının versiyonu ile kullanıcının bilgisayarındaki Java versiyonunun farklı olması, kullanıcı veri girişi yaparken de bug da kalmış bir veri yüzünden de olabilir.

Gözden kaçan ufacık hata ve en çok görülen hatanın çözümünde ki mantık bu. Kodları tekrar tekrar gözden geçirilmesi gerekmekte kısacası.

8 comments

  1. Muhammed Olgun

    Merhaba,

    NPE genelde null gönderilmemesi gereken parametrelerin null gönderilmesinden kaynaklanan bir hata. Aklımın erdiğince yazınızda bir kaç noktaya değinmek istiyorum. 1. si bildiğiniz gibi java’da nesne oluşturursanız nesneyi silemezsiniz. Belki bağlı referansları null’a eşitleyerek Garbage Collectorun silmesini beklersiniz. 2. cil olarak boş dizi NPE’ye neden olmaz. Boş dizi boş dizidir. Nesne’nin boş olması da NPE’ye neden vermez. Nesne’nin içindeki değerin null’a eşit olması ve çağırılarak kullanılmaya çalışılması belki NPE’ye sebep verebilir. Ancak nesne referansı belki null’a eşit olabilir o NPE’ye neden olabilir. Çağırılan method’un olmaması gibi bir durum Java’da olmaz çünkü compile’da hata verecektir. NPE ise RuntimeException türündendir yani Runtime’da çalışır.

  2. Memokaa

    Arkadaşlar Doğrudur haklısınızda çözümünü nasıl yapacağız önemli olan bu. Eclipse bir bozuldu pir bozuldu.

    • Burak
      Author

      Çözümü kendiniz bulacaksınız. Kodunu inceleyeceksin bakacaksın nerede alıyorsun bu hatayı. Neden olduğunu yazdık

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir