Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  İşlemci veya programın farklı bir rutine yönlendirilmesine yol açan bir durum ya da hata. Exception ve interrupt birbirine yakın kavramlardır. Şu kadar var ki; interrupt donanım tarafından bilinçli olarak oluşturulurken, exception bir hata durumunda oluşturulur.
fizikci
27 Mayıs 2005 14:09
2.  C#da try..catch bloğu ile yakalanır.

//Kontrolsüz bölme yapılan fonksiyon.
public double Bol(Sayi1, Sayi2){
    return Sayi1 / Sayi2;
}

public void Main(){
    try{
        Bol(5,0); // 0'a bölme hatası gerçekleşecek. Fakat Bol fonksiyonu bu hatayı yakalayamaz.
    }
    catch(Exception ex){
        MessageBox.Show(ex.Message); //Hata yakalandı ve hata mesajı gösteriliyor.
    }
}


bir exception gerçekleştiğinde ilk try..catch bloğuna gidilir ve gerekli işlemler yapılır. Eğer gözden kaçmışsa ve exception üreten fonksiyon try..catch bloğu içinde değilse programın çalışması sonlandırılır.
bateristt
13 Haziran 2005 23:20
3.  C# ve Java'da özel exception tipleri vardır. Bu tiplerin instanceları throw ile fırlatılılır, catch ile yakalanır.

C++ ve Javascript dillerinde ise exceptionlar için özel bir tip yoktur. Herhangi bir tipte değişkeni throw edip catch edebilirsiniz. Daha esnektir.

Örneğin aşağıdaki Javascript kodu çıktıya "Hata oluştu!" yazar:
try {
   throw "Hata oluştu!";
} catch(hata) {
   document.write(hata);
}

Java ve C#'taki özel tip kullanımı hataları özelden genele doğru yakalayabilmenizi sağlar. Bütün hatalar Exception tipinden türetilir. Mesela C#'da DevideByZeroException ArithmeticException'dan, o da SystemException'dan, o da Exception'dan türetilmiştir. Aynı şekilde OverflowException da ArithmeticException'dan türetilmiştir. Hem sıfıra bölme hem de taşma hatasını sadece ArithmeticException'ı kullanarak yakalayabilirsiniz. Özellikle sıfıra bölme hatasını yakalamak ve ona uygun kod yazmak istiyorsanız DivideByZeroException'ı kullanmalısınız.

Sonuç olarak bütün hatalar (istisnalar) bütün exception sınıflarının atası olan Exception sınıfı kullanılarak yakalanabilir. Ama özel bir hata ile ilgileniyorsanız o hataya ait exception sınıfını kullanmalısınız. Son bir söz söylemek gerekirse catch ifadeleri altalta sıralanırken en özelden en genele doğru sıralanmalıdır. Aksi durumda zaten derleyici hata verecektir.
fizikci
15 Mayıs 2007 14:55
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1203 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen