Site icon Bilişim & Programlama

NullReferenceException Hatası ve Çözümü

C#, Java gibi Nesne Yönelimli Programlama Dillerinde nesneler ve değişkenler bellek yönetimi açısından farklı davranış sergilerler. Kullanımları her ne kadar basit olarak görsekte uygulama testlerinde aldığımız C# dahilinde “NullReferenceException”, veya Java dahilinde “NullPointerException” türevinden hatalar en sık karşılaştıklarımız arasındadır. “NullReferenceException” hatası çözümü, uygulama nesnelerinin bellek yönetimi açısından düşünülerek cevaplanması gereken bir yöntemdir. Peki nedir bu “Null” olma durumu ve “NullReferenceException” hatasını neden alırız.

Bu soruyu yanıtlamadan önce C# Değer ve Referans Tipi Bellek Yönetimi yazısını okumanızı öneririm.

Bir sınıf türü değişkeni “new” anahtar kelimesi ile örneklemediğinizde nesne “null” durumda bulunacaktır.

Nesnenin kullanılabilmesi için mutlaka “new” anahtar kelimesi ile örneklendirilmiş olması gerekmektedir.

Null durumda bırakılmış bir nesneyi kulanmaya çalışmak demek “NullRefrenceException” hatasını alacağınız anlamına gelmektedir. Daha iyi anlamak için basit bir örnekle inceleyelim;

Yukarıdaki senaryo incelendiğinde k1 nesnesinin Kitap tipinde tanımlandığı ancak new anahtar kelimesi ile örneklenmediği görülmektedir. Bu bir sorun değil. Böyle bir durumda k1 nesnesi null değerine sahip olacaktır. Ancak sonraki adımda k1 nesnesinin “Baslik” isimli özelliğine erişim yapılmıştır ki işte bu nota “NullRefrenceException” hatasını beraberinde fırlatacaktır.

Şimdi bu hatayı alabileceğimiz farklı uygulama senaryolarına bir gözatalım;

NullReferenceException Hatasının Olası Çözümleri

Exit mobile version