IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C#'de Try/Catch (Geliştiriciler İçin Nasıl Çalışır)

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 23 Nisan 2026

C# dilinde programlamaya yeniyseniz, "try catch" ifadesinin oldukça sık kullanıldığını duymuş olabilirsiniz. Bu derste, özelikle catch bloklarına odaklanarak, istisna yönetimi dünyasına dalacağız ve kodunuzu hatalara karşı daha dayanıklı hale getirmek için try ve catch ifadelerini nasıl kullanabileceğinizi keşfedeceğiz. Yol boyunca, anlamanızı pekiştirmek için birçok gerçek hayat örneği sunacağız.

İstisnalar Nedir ve Neden Yönetilmeleri Gerekir?

C# dilinde, bir istisna, bir program çalışırken meydana gelen ve programın talimatları standart olarak gerçekleştirme sürecine müdahale eden bir olayları temsil eder. Bir istisna meydana geldiğinde, programın akışı yön değiştirmek ve istisna ele alınmadığı takdirde, program aniden sonlanacaktır.

İstisna yönetimi, bu aksatıcı olayları öngörüp yöneterek, programınızın beklenmeyen sorunlardan kurtulmasına ve istenen şekilde çalışmaya devam etmesine olanak sağlayan bir yoldur. Try ve catch bloklarını kullanarak, kodunuzun hataları güzel bir şekilde ele almasını ve kullanıcılara anlamlı geri bildirim sağlar.

Try Bloğu

Try bloğu, istisnalar oluşturabileceğini düşündüğünüz bir kod segmentidir. Kodu bir try bloğuna sararken, derleyiciye bu blok içinden çıkabilecek olası istisnaları ele almayı istediğinizi belirtiyorsunuz.

Bir try bloğunun nasıl kullanılacağını gösteren temel bir örnek:

try
{
    // Code that may generate an exception
}
catch (Exception ex)
{
    // Handle the exception
}

Catch Bloğu İstisnaları Yakalar

Catch ifadesi, istisnaları ele almak için bir try bloğu ile birlikte kullanılır. Bir try bloğu içinde bir istisna meydana geldiğinde, program çalışması uygun catch bloğuna geçer, burada istisnaya yanıt olarak programın ne yapması gerektiği belirtilir.

Bir istisnayı yakalamak için, try bloğunun hemen ardından bir catch bloğu oluşturmanız gerekir. Bir catch bloğu genellikle yakalanan istisnayı temsil eden bir parametre içerir.

Bir catch ifadesinin nasıl işlediğine dair bir örnek:

try
{
    int result = 10 / 0;
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}

Bu örnekte, try bloğunun içindeki kod sıfırla bölmeye çalışır, bu da bir DivideByZeroException üretecektir. Daha sonra catch bloğu, istisnayı ele alır ve kullanıcıya bir mesaj gösterir.

Farklı İstisnaları Ele Alan Birden Fazla Catch Bloğu

Bazen, try bloğunuz farklı türlerde muhtemel istisnalar oluşturabilir. Bu tür durumlarda, her istisna türünü ayrı ayrı ele almak için birden fazla catch bloğu kullanabilirsiniz.

Birden fazla catch bloğu kullanımını gösteren aşağıdaki örnek:

try
{
    int[] numbers = new int[7];
    numbers[12] = 70; // This line will throw an exception
}
catch (IndexOutOfRangeException ex)
{
    Console.WriteLine("An index out of range error occurred: " + ex.Message);
}
catch (Exception e)
{
    Console.WriteLine("An unexpected error occurred: " + e.Message);
}

Bu örnekte, try bloğunun içindeki kod var olmayan bir dizi indeksine değer atamaya çalışır, bu da bir IndexOutOfRangeException oluşturur. İlk catch bloğu bu belirli istisnayı ele alırken, ikinci catch bloğu meydana gelebilecek diğer herhangi bir istisnayı yakalar.

Birden fazla catch bloğu kullanırken, her zaman en özelden en genel istisna türlerine doğru sırayla yerleştirin.

Catch Bloklarına Koşullar Eklemek İçin İstisna Filtreleri

İstisna filtreleri, bir koşul karşılandığında yalnızca istisnaları yakalamak için catch bloklarına koşullar eklemenize olanak tanır. Bir istisna filtresi kullanmak için, catch ifadenize bir koşulun ardından when anahtar kelimesini ekleyin.

İstisna filtrelerinin kullanımını gösteren aşağıdaki örnek:

try
{
    int result = 10 / 0;
}
catch (DivideByZeroException ex) when (ex.Message.Contains("divide"))
{
    Console.WriteLine("An error occurred: " + ex.Message);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("A different divide by zero error occurred: " + ex.Message);
}

Yukarıdaki örnekte, ilk catch bloğu, istisna mesajı "divide" kelimesini içeriyorsa yalnızca DivideByZeroException istisnasını ele alacaktır. Koşul karşılanmazsa, ikinci catch bloğu istisnayı ele alacaktır.

Son Blok Kod Yürütülmesini Sağlar

Bazı durumlarda, bir istisna oluşsa da oluşmasa da belirli bir kod parçasının yürütülmesini garanti etmek isteyebilirsiniz. Bunu başarmak için, bir finally bloğu kullanabilirsiniz.

Bir finally bloğu, try ve catch bloklarının ardından yerleştirilir ve bir istisna oluşup oluşmadığına bakılmaksızın her zaman çalıştırılır.

İşte bir finally bloğunun kullanımını gösteren bir örnek:

try
{
    int result = 10 / 2;
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("An error occurred: " + ex.Message);
}
finally
{
    Console.WriteLine("This line will always be executed.");
}

Yukarıdaki örnekte, try bloğu içinde kod bir istisna üretmese bile, finally bloğu yine de çalıştırılacaktır.

Özel İstisnalar: İhtiyaçlarınıza Göre İstisnalar Oluşturma

Bazen, kodunuzda belirli istisnaları ele almak için kendi özel istisnalarınızı oluşturmak isteyebilirsiniz. Bunu yapmak için, Exception sınıfından türeyen yeni bir sınıf oluşturabilirsiniz.

Bir özel istisna oluşturmanın örneği:

public class CustomException : Exception
{
    public CustomException(string errorMessage) : base(errorMessage)
    {
    }
}

Artık bu özel istisnayı try ve catch bloklarınızda şu şekilde kullanabilirsiniz:

try
{
    throw new CustomException("This is a custom exception.");
}
catch (CustomException ex)
{
    Console.WriteLine("A custom exception occurred: " + ex.Message);
}

Bu örnekte, try bloğu bir CustomException örneği fırlatır, bu da daha sonra catch bloğu tarafından yakalanır ve işlenir.

IronPDF: PDF İşlevselliğini İstisna Yönetimiyle Entegre Etme

IronPDF Hakkında Daha Fazla Bilgi Edinin, C#'ta PDF dosyalarını oluşturma, düzenleme ve içerik çıkarma için popüler bir kütüphanedir. Bu bölümde, IronPDF'i try-catch istisna yönetim yaklaşımınızla nasıl entegre edebileceğimizi ve olası hataları kibarca nasıl ele alabileceğimizi keşfedeceğiz.

Installing IronPDF

Başlamak için önce IronPDF NuGet paketini yüklemeniz gerekecek. Bunu, Paket Yöneticisi Konsolu kullanarak yapabilirsiniz:

PM > Install-Package IronPdf

Veya Visual Studio'da "NuGet Paketlerini Yönet" diyalog penceresinde "IronPDF" arayabilirsiniz.

IronPDF ile PDF Oluşturma ve İstisnaları Yönetme

IronPDF ile bir HTML dizesinden PDF dosyası oluşturmak istediğinizi varsayalım. PDF oluşturma süreci potansiyel olarak istisnalar çıkarabileceğinden, onları ele almak için try-catch bloklarını kullanabilirsiniz. İşte IronPDF kullanarak bir PDF oluşturma ve try-catch ile istisnaları ele almanın bir örneği:

using IronPdf;
using System;

try
{
    var renderer = new ChromePdfRenderer();
    string html = "Hello, World!";
    PdfDocument PDF = renderer.RenderHtmlAsPdf(html);
    PDF.SaveAs("output.PDF");
    Console.WriteLine("PDF created successfully.");
}
catch (Exception ex)
{
    Console.WriteLine("An unexpected error occurred: " + ex.Message);
}

Bu örnekte, try bloğu IronPDF kullanarak PDF oluşturma kodunu içerir. İşlem sırasında bir istisna meydana gelirse, catch bloğu hatayı ele alacak ve kullanıcıya ilgili bir hata mesajı gösterecektir.

PDF'den Metin Çıkarmak ve İstisnaları Ele Almak

IronPDF kullanarak bir PDF dosyasından metin çıkarmak da isteyebilirsiniz. Önceki örnekte olduğu gibi, potansiyel istisnaları ele almak için try-catch bloklarını kullanabilirsiniz.

IronPDF kullanarak bir PDF dosyasından metin çıkarmanın ve istisnaları ele almanın bir örneği:

using IronPdf;
using System;
using System.IO;

try
{
    string pdfPath = "input.PDF";
    if (File.Exists(pdfPath))
    {
        PdfDocument PDF = PdfDocument.FromFile(pdfPath);
        string extractedText = PDF.ExtractAllText();
        Console.WriteLine("Text extracted successfully: " + extractedText);
    }
    else
    {
        Console.WriteLine("The specified PDF file does not exist.");
    }
}
catch (Exception ex)
{
    Console.WriteLine("An unexpected error occurred: " + ex.Message);
}

C#'de Try/Catch (Geliştiriciler İçin Nasıl Çalışır) Şekil 1

Bu örnekte, try bloğu IronPDF kullanarak PDF'den metin çıkarmak için kodu içerir. Eğer işlem sırasında bir istisna meydana gelirse, catch bloğu hatayı ele alacak ve kullanıcıya ilgili bir mesaj gösterecektir.

Sonuç

IronPDF ile try-catch istisna ele alma yaklaşımınızı birleştirerek, PDF dosyalarıyla çalışırken hataları zarif bir şekilde ele alan sağlam uygulamalar oluşturabilirsiniz. Bu, uygulamalarınızın kararlılığını artırır ve genel kullanıcı deneyimini geliştirir.

IronPDF gibi dış kütüphanelerle çalışırken her zaman potansiyel istisnaları göz önünde bulundurun ve bunları uygun şekilde try ve catch ifadelerini kullanarak ele alın. Bu şekilde, uygulamalarınız beklenmeyen sorunlarla karşılaştığında dayanıklı ve kullanıcı dostu olabilir.

IronPDF, kütüphanesinin ücretsiz denemesini sunar ve bu sayede yeteneklerini herhangi bir taahhütte bulunmadan keşfetmenizi sağlar. Deneme süresinden sonra IronPDF kullanmaya devam etmeye karar verirseniz, lisanslama $999 ile başlar.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez