Tarih :15 Aralık 2019

Try-Catch-Finally Kullanımı

try{

Yapılacak ana işlem ve hatalara sebebiyet verebilecek olan kodlar buraya yazılır

}

catch{

Eğer ‘try’ bloğunda bir hata olursa catch bloğundaki işlemler çalışır.Eğer try bloğunda hiç bir hata olmazsa catch bloğu es geçilir.

}

finally{

Try ve Catch ‘ den sonra hata olsada olmasada mutlaka yapılması gereken işlemler bu bloğun içerisine yazılır.

Finally bloğu isteğe bağlıdır.

Örnek 1: Elimizde 1 adet textbox veya label var istediğimiz işlemi gerçekleştirmediysek label veya textbox’ın içindeki veriyi temizle.TextBox.Text=””;)

Örnek 2:Bir database bağlantısı var ise o bağlantıyı trafiği yoğunlaştırmamak adına kapat.(SqlConnection conn=new SqlConnection(ConnectionString;)

conn.Close();

}

Örnek 1 kod;

try{
    int a = int.Parse(tbox1.Text);
    int b = int.Parse(tbox2.Text);
    int c = a * b;
    sonucLabel.Text = c.ToString();
}
catch{
sonucLabel.Text="Exception Error";
}
finally{
tbox1.Text="";
tbox2.Text="";
}

Try-Catch yapısını kullanırken tıpkı if-else’de olduğu gibi alt alta if’ler yerine alt alta Catch kullanılabilir.

try{
    int a = int.Parse(tbox1.Text);
    int b = int.Parse(tbox2.Text);
    int c = a * b;
    sonucLabel.Text = c.ToString();
}
catch(FormatException e){
sonucLabel.Text="İstenilenden farklı tür bir veri girdiniz";
}
catch(ArithmeticException){
sonucLabel.Text="İşlem yapılırken bir hata meydana geldi";
}
catch(OverflowException ){
sonucLabel.Text="Girilen değer çok büyük";
}
catch(ClassCastException){
sonucLabel.Text="Uygunsuz class atama işlemi";
}

Örnek Exception Türleri;


ArrayIndexOutOfBoundsException
Array sınırlarından çıkılma hatası.
ArithmeticExceptionAritmatiksel bir işlem sırasında oluşan hata. 
ArrayStoreExceptionArray yapısına uymayan bir değer kaydedilmeye çalışıldığında.
ClassCastExceptionUygunsuz class atama işlemi.
IllegalArgumentExceptionUygun olmayan argüman kullanımı.
IllegalMonitorStateExceptionUygun olmayan monitör işlemi.
IllegalStateExceptionSistemin uygun pozisyonda olmadığını belirtir.
IllegalThreadStateExceptionTread durumunun uygun olmadığını belirtir
IndexOutOfBoundsExceptionIndex’in sınırlardan çıkılma hatası.
NegativeArraySizeExceptionArray’in boyutuna negatif değer verilmiş olması hatası.
SecurityExceptionGüvenlik hatası.
NumberFormatExceptionUygun olmayan sayı formatı hatası.
NullPointerExceptionBoş pointer hatası.
StringIndexOutOfBoundsString yapısının sınırlarından çıkma hatası
UnsupportedOperationExceptionDesteklenmeyen işlem hatası.
ClassNotFoundExceptionClass bulunmama hatası.
CloneNotSupportedExceptionÇoğalmaya çalışılan bir objenin çoğalamayacağını belirten hata.
IllegalAccessExceptionUygunsuz erişim hatası
InterruptedException
Bir tread’in diğer tread’i durdurma hatası.
InstantiationExceptionBir objenin oluşturulması esnasında oluşan hata.
NoSuchFieldExceptionAranılan alanın olmadığı hatası.
NoSuchMethodExceptionKıllanılan methodun bulunmama hatası.

Bir cevap yazın

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