Bu yazımızda C# ta try-catch-finally yapısını öğreneceğiz arkadaşlar. Kod bloğumuz aşağıdaki gibi olup şu şekilde çalışmaktadır. İlk önce try bloğu içerisindeki kod çalıştırılır eğer bir hata bulmuş ise catch kısmındaki kod çalışır, ardından finally kısmı ile program çalışmaya devam eder.
Bir örnek yapalım; diyelim bilgisayarınız seri portu açacaksınız ama port yok dolayısıyla hata oluşacak. Bu hatanın hangi satırda nasıl oluştuğu anlamak için aşağıdaki kodu inceleyin, ve c# da çalıştırın.
/* yazan: www.kaizen40.com * tarih: 3.05.2018 * açıklama: try-catch-finally kullanımı */ using System; using System.Windows.Forms; namespace trycatchfinally { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { try { serialPort1.Open(); // seri portu aç } catch(Exception hata) // hatayı yakala ve ekrana bas { MessageBox.Show(hata.ToString() + "\r\n" + hata.StackTrace); } finally // buradan devam et { MessageBox.Show("Port açıldı!"); } } } }
Bilgisayarda port olmadığından hatamız oluştu ve messagebox ile ekranımıza bastık.
exception ekleyerek hata.toString() ile hatanın ne olduğu, hata.StackTrace ile hatanın hangi satırda gerçekleştirğini görmüş olduk. OK diyip devam ettiğimizde finally bloğumuzdaki satırın çalıştığını görmüş olduk.
0 yorum