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