Merhabalar, C# Exception Nedir? Exception İşlemleri dersim ile C# eğitim setime ve Exceptions yazılarına devam ediyorum. Bu yazı diğer Exception yazılarından sonra geldi. Aslında sadece bilindik hataları işlemeyi düşünüyordum ama sonradan değinebildiğim kadarına değinmek istedim. Bu yüzden bu ana başlığı şimdi yazıyorum.
C# Exception Nedir? Exception İşlemleri
Devralma : Object – Excepiton
C# Exception Nedir?
Exception uygulamanın çalışma esnasında ortaya çıkan özel durumlar yani hatalardır. Bazı hatalar kodları hatalı yazmamızdan dolayı kaynaklanırken bazı hatalar da kullanıcıların hatalı kullanımı yüzünden çıkar. Bazı hatalarda vardır ki zamanla ortaya çıkarlar.
Excepiton ‘un Türkçe karşılığı İstisna’dır. C# dilinde özel durum anlamına gelirken yazılımcılar arasında hata olarak bilinir. Programın kırılması ya da patlaması tabirleri de kullanılmaktadır. :)
Exception İşlemleri
Excepiton işlemleri yapmadan önce kodlarımızı incelemeliyiz. Kodları düzelterek bu hataları bu özel durumları giderebiliyor muyuz görmeliyiz. Eğer kodları düzelterek bu özel durumları giderebiliyorsak kodlarımızı düzeltmeliyiz.
Eğer kodlarımız doğru ise yani düzeltilecek bir şeyi yok ise kullanıcın yapacağı işlemleri özel durumları almamızın önüne geçebilecek şekilde ayarlamalıyız. Örneğin bir mail gönderme işleminde mail gönderilecek adresleri elle yazdırmak sorun olabilir. Yada mail adresleri yazmak için bir textbox koymak özel durumların ortaya çıkmasına davetiye gönderir.
Aşağıda bir Exception özel durum raporlama ekranını görebilirsiniz. Bu ekran, projeyi F5 ile çalıştırdığımızda ortaya çıkan özel durumun bildirilmesi ekranıdır.
Aşağıdaki görsel ise bir exe dosyasında ortaya çıkan özel durum ekranıdır.
Bu ekranda bize ortaya çıkan özel durum hakkında bir çok bilgi vermektedir. Özellikle hatanın türünü, hatanın nerede olduğunu ve hangi sebeple ortaya çıktığını söyler. Aşağıda, yukarıdaki ekrandaki Details / Ayrıntılar kısmında yazan raporun bir örneğine bakalım. (Sadece bir kısmını vereceğim. Bize lazım olan kısmını…)
Bu iletişim kutusu yerine JIT hata ayıklamayı çağırma
hakkında detaylı bilgi için bu iletinin sonuna bakın.************** Özel Durum Metni **************
System.ArgumentException: Değer beklenen aralıkta değil.
konum: mustafabukulmez_com_dersler._034_Exceptions.Form1.SayiKontrol(Int32 sayi) D:\****\Projelerim\C#\01 – GITHUB\Ok – mustafabukulmez_com_dersler\mustafabukulmez_com_dersler\_034_Exceptions\Form1.cs içinde: satır 42
konum: mustafabukulmez_com_dersler._034_Exceptions.Form1.btn_ArgumentException_Click(Object sender, EventArgs e) D:\****\Projelerim\C#\01 – GITHUB\Ok – mustafabukulmez_com_dersler\mustafabukulmez_com_dersler\_034_Exceptions\Form1.cs içinde: satır 34
konum: System.Windows.Forms.Control.OnClick(EventArgs e)
konum: System.Windows.Forms.Button.OnClick(EventArgs e)
konum: System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
konum: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
konum: System.Windows.Forms.Control.WndProc(Message& m)
konum: System.Windows.Forms.ButtonBase.WndProc(Message& m)
konum: System.Windows.Forms.Button.WndProc(Message& m)
konum: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
konum: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
konum: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Yukarıda gördüğünüz metinler Exception bildirim ekranında yazanlar.
System.ArgumentException: Değer beklenen aralıkta değil. = Bu satırda, hatanın türünü ve hatayı neden aldığımızı görüyoruz.
Alt satırlarda konum: ile başlayan satırları görüyorsunuz. Üstten ilk konum ile başlayan satır bu hatanın hangi dosyada ve kaçıncı satırda olduğunu bize söylüyor.
Ancak! Bazı hata ekranlarında bu kadar detaylı veremiyor. Verebileceği en yakın adresleme hangi eventin içinde olduğunu bulabiliyor. Yani konum ile başlayan ilk satırın sonundaki path bazen olmuyor.
Exception Yakalama
Eğer herşey doğru olduğu halde yine de hata alıyorsak o zaman hata yakalama işlemleri yapmalıyız. Bu işleme de Handle yani ele alma işlemi denir. Bu kısmı zaten daha önce detaylıca enlattığım için tekrar bahsetmeyeceğim. C# Try Catch Finally Nasıl Kullanılır? Ayrıntılı Anlatım bu dersime giderek detaylıca görebilirsiniz.
C# Exception Nedir? Exception İşlemleri dersimiz de bu kadardı arkadaşlar.
Tüm Exceptions derslerime bağlantıdan ulaşabilirsiniz.
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.
Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu dersim Github projemde yerini almıştır. Tüm Exception adı altında eklediğim dersleri Github projeme ekleyeceğim.
Sağlıcakla ve takipte kalın.
Yorumlar (1)