C# ArgumentNullException – Nedenleri ve Kullanımı

C# ArgumentNullException – Nedenleri ve Kullanımı

11 Ocak 2020 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 14
Yaklaşık okuma süresi : 5 DK
C# ArgumentOutOfRangeException – Nedenleri ve Kullanımı
C# TC Kimlik No Kontrol Programı

Merhabalar, C# ArgumentNullException – Nedenleri ve Kullanımı dersim ile Exceptions serisine devam ediyorum. Önceki dersim olan C# ArgumentException – Nedenleri ve Kullanımı dersin konusu bu dersin konusu ile bağlantılıdır. ArgumentNullException, ArgumentException sınıfından türetilmiş bir hata türüdür.

 

C# ArgumentNullException – Nedenleri ve Kullanımı

Devralma :  Object > Exception > SystemException > ArgumentException > ArgumentNullException

ArgumentNullException, bir yöntemde null olmaması gereken bir bağımsız değişkenin null olması sonucu ortaya çıkar. Buna örnek vermek gerekirse, bir File.Copy() işleminde null olmaması gereken path parametresinin null gönderilmesi bu hatayı ortaya çıkartır.

C# ArgumentNullException – Nedenleri

Örnek bir kod verelim. Bu hatayı aşağıdaki şekilde elde edebilirsiniz.

string s = null;
            string ss = null;
            System.IO.File.Copy(s, ss);

File.Copy() işleminde sourceFileName ( kaynak ) ve destFileName ( hedef ) parametreleri asla boş olmamalıdır. Düşünürsek, File.Copy() işlemi bir dosyayı bir yerden başka bir yere kopyalamamızı sağlar. Kopyalanacak bir dosya yolu vermediysek neyi kopyalayacak?

Buna başka örnekler verebiliriz.

  • Bir mail gönderme işleminde From mail adresi verilmemiş ise, From mailinin şifresi verilmemiş ise, To mail adresi verilmemiş ise,
  • Bir dosya silme işleminde dosya yolu verilmemiş ise,
  • Bir dosya okuma işleminde dosya yolu verilmemiş ise vs.

Yani yukarıda da belirttiğimiz gibi Null olmaması gereken bir değerin Null olması durumunda bu hatayı alırız.

 

C# ArgumentNullException – Kullanımı

Yine önceki dersimde örneğini gördüğünüz gibi bu exception’u da kendi isteğimiz ile başlatabiliriz. Aşağıdaki kodlarda örnek bir kullanım görebilirsiniz

        #region ArgumentNullException Çıkarma ve Yakalam Örneği
        private void btn_ArgumentNullException_Click(object sender, EventArgs e)
        {
            txt_cikti.Text = "";
            try
            {
                strBirlestir("mustafa", "");
            }
            catch (ArgumentNullException ex)
            {
                txt_cikti.Text += ex.GetType().Name + ":" + ex.Message;
            }

        }
        string strBirlestir(string ad, string soyad)
        {
            if (string.IsNullOrEmpty(ad) || string.IsNullOrWhiteSpace(ad))
            {
                throw new ArgumentNullException("ad", ad + " Ad değeri boş olamaz");
            }
            else if (string.IsNullOrEmpty(soyad) || string.IsNullOrWhiteSpace(soyad))
            {
                throw new ArgumentNullException("soyad", soyad + " Soyad değeri boş olamaz");
            }
            else
            {
                return ad + " " + soyad;
            }
        }
        #endregion

Bu örneğe göre Ad veya Soyad parametresi boş ise bir ArgumentNullException hatası verilmesini istedik. Çünkü bu değerlerin boş olmasını istemedik.

İlgili İçerik  C# ArgumentOutOfRangeException – Nedenleri ve Kullanımı

Daha fazla bilgiye Microsoft.Docs sitesinden ulaşabilirsiniz.


C# ArgumentNullException – Nedenleri ve Kullanımı dersimiz de bu kadardı arkadaşlar.

Tüm Exceptions derslerime bağlantıdan ulaşabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu dersim Github projemde yerini almıştır. Tüm Exception adı altında eklediğim dersleri Github projeme ekleyeceğim.

Sağlıcakla ve takipte kalın. 😉

C# ArgumentOutOfRangeException – Nedenleri ve Kullanımı
C# TC Kimlik No Kontrol Programı