1. Ana Sayfa
  2. Nesne Tabanlı Programlama
  3. Visual Studio C# Dersleri – C# Hatalar ve Hataları Yakalama (Try, Catch, Finally Kullanımı) 2

Visual Studio C# Dersleri – C# Hatalar ve Hataları Yakalama (Try, Catch, Finally Kullanımı) 2


Bir Önceki dersimizde Try, Catch, Finally Kullanımını basit olarak anlatmıştık şimdi oluşacak hataların türünü tespit edip ona göre uyarı mesajı vereceğiz. En sık karşılaşılan exception türleri ve sebepleri..:

  • *DivideByZeroException (Sıfıra bölme durumlarında oluşur )
  • *ArgumentException (ArgumentNullException ve ArgumentOutOfRangeException olarak ikiye ayrılır. sayısal veri türüne sahip değişkene null değeri atandığında oluşur)
  • *OverflowException ( Değişkene atanan veya girilen sayı değişiken türü aralığı dışındaysa bayt türüne 3000 girmek gibi)
  • *FormatException (Sayısal veri türüne sahip değişkene harf girilmesi veya atanması durumunda oluşur)
  • *IOException(Genellikle disk hatalarından kaynaklanır, EndOfStreamException , FileNotFoundException , FileLoadException olarak 3 e ayrılır.)

gibi.. değişik hatalar var şimdi hata türü çok olduğu için her hatayı veya olabilecek muhtemel hataları yakalamak için catch metodunu da birden fazla kullanabiliriz. Hemen örnekle açıklayalım..:

try
            {
                int a = Int16.Parse(textBox1.Text);
               int b = Int16.Parse(textBox2.Text);
                label1.Text = Convert.ToString(a + b);
            }
            catch(FormatException)// harf girildiğinde çalışır
            {
                MessageBox.Show("Girilen Değerleri Kontrol Edin");
            }
            catch (ArgumentNullException)// sayı null oldıuğunda
            {
                MessageBox.Show("Girilen Sayısal değer boş bırakılamaz");
            }
            catch (OverflowException)// int16 aralığından büyük değer girildiğinde çalışır
            {
                MessageBox.Show("Girilen değer belirlenen aralık dışında");
            }
Yorum Yap
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Yorum
Inline Feedbacks
View all comments
RAMAZAN YÜKSEEEEEEL

biraz daha acıklayıcı olsa daha ıyı olacak

Ramazan Yüksel

Hiç açıklayıcı olmadı cok kafa karıstıcı