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");
            }

							
				
				
biraz daha acıklayıcı olsa daha ıyı olacak
Hiç açıklayıcı olmadı cok kafa karıstıcı