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ı!");
            }

        }
    }
}
Tyr-catch-finally hata ekranı

Tyr-catch-finally hata ekranı

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.

MessageBox

MessageBox


0 yorum

Bir yanıt yazın

Avatar placeholder

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.