C# Try Catch Kullanımı

Merhaba arkadaşlar. Try-Catch, hata yakalama amacıyla kullanılmaktadır. Bu yazıda nasıl kullanıldıklarını göstereceğim. Bu yöntem ile varsayılan kütüphane içindeki metodların istisna durumlarını yakalayabilirsiniz. Dilerseniz kendi tasarladığınız sistemin hata yönetimini de bu yöntem ile yapabilirsiniz. İstisnaları kendiniz oluşturup, istisnaların gerçekleşmesi durumunda program akışının ne yönlü olacağına karar verebilirsiniz.

Bu yöntemin birkaç kullanım çeşidi var. Genel olarak hata yakalamak isterseniz şu şekilde kullanabilirsiniz

try {
    byte hataliIslem = 1; //Byte max 255 değerini alabilir.
    hataliIslem += Convert.ToByte(textBox1.Text); // Textbox1 değeri 300 olsun. 301 yapmayı deneyecek. Hata oluşacak.
    int hataliIslem2 = 1 / Convert.ToInt32(textBox2.Text);  // Textbox2 içinde 0 var. Sıfıra bölme hatası verecek. 
}
catch (Exception h) {
    MessageBox.Show(h.Message); //Herhangi bir istisna ile karşılaştığında ekrana hata mesajını yazacak.
}

Hataları ayrı ayrı da yakalayabiliriz.

try{
     bytehataliIslem=1;
     hataliIslem+=Convert.ToByte(textBox1.Text);
     inthataliIslem2=1/Convert.ToInt32(textBox2.Text);
}
catch(DivideByZeroException h){
     MessageBox.Show("Sıfıra bölme hatası gerçekleşti.");
}
catch(OverflowException h){
     MessageBox.Show("Değişken limit değerleri hatası.");
}

Kendi istisna durumumuzu da oluşturabilirsiniz. Not giren bir private yordamımızın olduğunu düşünelim. Bu yordam, gelen not değerinin 0-100 aralığında olup olmadığını kontrol edip, hata durumunda istisnanın fırlatılmasında rol alacak.

public class NotHatasi : Exception{   //Exception Sınıfından Türetme Yapıyoruz
     public NotHatasi() : base("Bu alan 0-100 aralığında olmalıdır.") {
     }
}
private byte NotGir(byte not) {
     byte yerelNot = 0;
     if (!(not >=0 && not<=100)) {
          throw new NotHatasi();
     } else {
          yerelNot = not;
     }
     return yerelNot;
 }
try {
     byte ogrenciNotu = 0;
     ogrenciNotu = NotGir(Convert.ToByte(textBox1.Text));
}
catch (NotHatasi h) {
     MessageBox.Show("0 ile 100 arasında bir değer girmediniz");
}

 

Bir Cevap Yazın

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