Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Chapter 11: Exception Handling

Benzer bir sunumlar


... konulu sunumlar: "Chapter 11: Exception Handling"— Sunum transkripti:

1 Chapter 11: Exception Handling

2 İstisnaları Anlama İstisna İstisna İşleme
Yürütülen programda herhangi bir hata koşulu veya beklenmedik davranışlardır. İstisna İşleme Nesne yönelimli teknikler bu tür hataları yönetmek için kullanılır. İstisnalar Exception(istisna)sınıfının nesneleridir veya bundan türetilen sınıflardan biri Microsoft Visual C# 2012, Fifth Edition

3 Tablo11-1:Seçilen C# istisna altsınıfları
Microsoft Visual C# 2012, Fifth Edition

4 Amaçsızca System Exception(sistem istisnası) Oluşur ise
Kasıtlı olarak hata içeren bir programı zorlayarak bir SystemException oluşturursunuz Örneğin: Bir tamsayıyı 0’a bölme istisnalar ile uğraşmak zorunda değilsiniz Programı sonlandırma ani ve affetmeyici olabilir Nesne yönelimli hata işleme teknikleri daha şık çözümler sunar Microsoft Visual C# 2012, Fifth Edition

5 Amaçsızca System Exception(sistem istisnası) Oluşur ise
Şekil11-1: MilesPerGallon programı Microsoft Visual C# 2012, Fifth Edition

6 Amaçsızca System Exception(sistem istisnası) Oluşur ise
Şekil11-2: MilesPerGallon programının 2 şekilde yürütülmesi Microsoft Visual C# 2012, Fifth Edition

7 Geleneksel Ve Nesne Yönelimli Hata İşleme Metotlarını Anlama
Bir değişkenin değerini başka bir sayıya bölmeyi denemeden önce “if” ifadesini kullanarak kontrol et 0’a bölünmeyi önler Ancak , gerçekten “istisna işleme” değilse Eğer sık sorun olacağını düşünüyorsanız Verimli midir? Küçük bir “yükü” vardır Aksi takdirde , istisna nesnesi oluştur. Microsoft Visual C# 2012, Fifth Edition

8 Nesne Yönelimli Hata İşleme Metotlarını Anlama
try(deneme)bloğu Hata üretebilecek ifadeleri içerir. Kodda en az bir catch bloğu veya try bloğunu takip eden bir finally bloğu catch(yakalama) bloğu Bir tür “istisna” yakalar Microsoft Visual C# 2012, Fifth Edition

9 Nesne Yönelimli Hata İşleme Metotlarını Anlama
Şekil11-5: try … catch çiftinin genel formu Microsoft Visual C# 2012, Fifth Edition

10 Nesne Yönelimli Hata İşleme Metotlarını Anlama
Şekil11-6: MilesPerGallon2 programı Microsoft Visual C# 2012, Fifth Edition

11 Nesne Yönelimli Hata İşleme Metotlarını Anlama
Şekil11-7: MilesPerGallon2 programının 2 şekilde yürütülmesi Microsoft Visual C# 2012, Fifth Edition

12 İstisna Sınıfının ToString() Metodunu ve Mesaj Özelliğini Kullanma
istisna sınıfını ve ToString() Kullanma Açıklayıcı bir hata mesajı sağlar Kullanıcı herhangi bir durumu oluşturulduktan istisna yapısı hakkında kesin bilgi alabilirsiniz. Microsoft Visual C# 2012, Fifth Edition

13 İstisna Sınıfının ToString() Metodunu ve Mesaj Özelliğini Kullanma
Şekil11-9: MilesPerGallon3 programı Microsoft Visual C# 2012, Fifth Edition

14 İstisna Sınıfının ToString() Metodunu ve Mesaj Özelliğini Kullanma
Şekil11-10: MilesPerGallon3 programının yürütülmesi Microsoft Visual C# 2012, Fifth Edition

15 Birden Fazla İstisnayı Yakalama
Bir try bloğu içinde ihtiyacınız kadar ifadeleri yerleştirebilirsiniz Yalnızca ilk hata oluşturma ifadesi bir istisna atar Birden fazla catch blokları oluşan istisna durumu için bir eşleşme bulunana kadar sırayla incelenir Çeşitli İstisnalar aynı catch bloğu tarafından ele alınabilir. Microsoft Visual C# 2012, Fifth Edition

16 Birden Fazla İstisnayı Yakalama
Şekil11-13: İki catch blokları olan TwoErrors programı Microsoft Visual C# 2012, Fifth Edition

17 Birden Fazla İstisnayı Yakalama
Şekil11-14: TwoErrors programının çıktısı Microsoft Visual C# 2012, Fifth Edition

18 Birden Fazla İstisnayı Yakalama
Şekil11-15: TwoErrors2 programı Microsoft Visual C# 2012, Fifth Edition

19 Birden Fazla İstisnayı Yakalama
Şekil11-16: TwoErrors2 programının çıktısı Microsoft Visual C# 2012, Fifth Edition

20 Birden Fazla İstisnayı Yakalama
Şekil11-17: Bir catch bloğu olan TwoErrors3 sınıfı Microsoft Visual C# 2012, Fifth Edition

21 Birden Fazla İstisnayı Yakalama
Üçten veya dörtten fazla istisnayı metotdan atmak için kullanılan kötü bir kodlama tarzıdır. Yöntem çok farklı görevleri yerine getirmek için çalışır. Atılan istisna türleri çok özeldir ve yaygınlaştırılmalıdır. Ulaşılamaz bloklar İçerik ifadeleri hiçbir zaman hiçbir koşulda yürütülemez çünkü program mantığı “ orada bulunamaz” Microsoft Visual C# 2012, Fifth Edition

22 Sonunda Bloğunu Kullanma
Sonunda bir try…catch sırası gerçekleştirilecek eylemler içerir try bloğu istisna olup olmadığını tanımlar ve yürütür. Used to perform clean-up tasks A finally block executes after: The try ends normally The catch executes The try ends abnormally and the catch does not execute Microsoft Visual C# 2012, Fifth Edition

23 Sonunda Bloğunu Kullanma
Şekil11-20: bir finally bloğuyla bir try … catch bloğunun genel formu Microsoft Visual C# 2012, Fifth Edition

24 Sonunda Bloğunu Kullanma
Şekil11-21: Bir dosyayı okumaya çalışan ve istisnayı işlemeye çalışan kod biçimi Microsoft Visual C# 2012, Fifth Edition

25 Dış Metotlarla Atılan İstisnaları İşleme
Nesneye yinelik istisna işleme tekniklerini kullanmanın avantajları: istisnalarla uygun yetenekler kullanılarak nasıl başa çıkılacağını ve onları nasıl idare edeceğiniz hakkında karar vermelisiniz. Diğer sınıfların metotlarından atılan istisnaları, yakalamak zorunda değilsiniz. Çağırdığın program onları yakalar ve sende ne yapacağına karar verirsin. Microsoft Visual C# 2012, Fifth Edition

26 Dış Metotlarla Atılan İstisnaları İşleme
Şekil11-22: PriceList sınıfı Microsoft Visual C# 2012, Fifth Edition

27 Dış Metotlarla Atılan İstisnaları İşleme
Şekil11-23: PriceListApplication1 programı Microsoft Visual C# 2012, Fifth Edition

28 Dış Metotlarla Atılan İstisnaları İşleme
Şekil11-24:Kullanıcının geçersiz ürün sayısı girdiğinde PriceListApplication1 programının çıktısı Microsoft Visual C# 2012, Fifth Edition

29 Dış Metotlarla Atılan İstisnaları İşleme
Şekil11-25: PriceListApplication2 programı Microsoft Visual C# 2012, Fifth Edition

30 Dış Metotlarla Atılan İstisnaları İşleme
Şekil11-26:Kullanıcının birkaç kez geçersiz ürün sayısı girdiğinde PriceListApplication2 programının çıktısı Microsoft Visual C# 2012, Fifth Edition


"Chapter 11: Exception Handling" indir ppt

Benzer bir sunumlar


Google Reklamları