IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

C# Birden Fazla İstisna Yakalama (Geliştiriciler İçin Nasıl Çalışır)

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

İstisnaları yönetmek C#'da doğru bir şekilde yapmak esastır. Bu eğitim, birden fazla catch deyimi içeren bir try-catch blok nasıl kullanılacağını gösterir. Birden fazla istisna türünü nasıl yakalayacağımızı, istisna filtrelerini nasıl kullanacağımızı ve kaynakların sonunda temizlenmesini nasıl sağlayacağımızı ele alacağız. Amaç, güçlü ve hata toleranslı C# uygulamaları oluşturmanıza yardımcı olmaktır.

Birden fazla türde istisnayı yakalamayı öğrenerek, yanıtlarınızı belirli sorunlara göre ayarlayabilir, programınızın güvenilirliğini artırabilirsiniz. Koşulları when anahtar kelimesiyle catch bloklarına nasıl uygulayacağımıza da değineceğiz ve bu, daha hassas hata yönetimine olanak tanır.

Bu kılavuz, istisnaları yakalama ve kodlama projelerinizde yaygın ve karmaşık hataları sorunsuz bir şekilde yönetme yöntemlerini size sunacaktır. IronPDF'i istisna yönetimi bağlamında da keşfedeceğiz.

İstisna Yönetimi Nedir?

C#'da istisna yönetimi, çalışma zamanı hatalarını yönetmek, bir programın ani durmasını önlemek ve programın çalışması sırasında meydana geldiklerinde beklenmedik durumları yönetmek için kullanılan bir yöntemdir. İstisna yönetiminin ana bileşenleri try, catch ve finally bloklarını içerir.

Basic Structure of Try-Catch in C#

Try bloğu potansiyel olarak bir istisna tetikleyebilecek kodu içerirken, catch bloğu istisna ortaya çıkarsa onu yönetmekten sorumludur. finally bloğu isteğe bağlıdır ve try ve catch bloklarından sonra, bir istisna atılıp atılmadığına bakılmaksızın kodu yürütür. İşte basit bir yapı:

try
{
    // Code that may throw an exception
}
catch (Exception e)
{
    // Code to handle the exception
}
finally
{
    // Code that executes after try and catch, regardless of an exception
}

Birden Fazla İstisna Yakalamak

Gerçek dünya uygulamalarında, tek bir işlem çeşitli türlerde istisnalar atabilir. Bu sorunu çözmek için C#, tek bir try bloğu için birden çok catch bloğu tanımlamanıza izin verir. Her bir catch bloğu tüm istisnaları yönetmek için farklı bir istisna türü belirtebilir.

Neden Birden Çok İstisna Yakalamalısınız?

Birden çok istisnanın yakalanması, belirli bir hata meydana geldiğinde eylemlerin duruma bağlı olduğu ayrıntılı hata yönetimi için gereklidir. Her iki istisnayı da özel bir bağlam için uygun bir şekilde yönetmek için geliştiricilere olanak sağlar.

Birden Fazla Catch Bloğu Nasıl Uygulanır

Birden fazla istisna türünü tek bir catch bloğunda yakalamak nasıl uygulanır bir örnek:

try
{
    // Code that may throw multiple types of exceptions
    int[] numbers = { 1, 2, 3 };
    Console.WriteLine(numbers[5]); // This will throw an IndexOutOfRangeException
}
catch (IndexOutOfRangeException ex)
{
    Console.WriteLine("An index was out of range: " + ex.Message);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("Can't divide by Zero: " + ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("Error: " + ex.Message);
}

Bu kodda IndexOutOfRangeException ve DivideByZeroException gibi belirli istisnalar, kendi ilgili catch blokları tarafından yakalanır. Diğer tüm istisna türleri, genel Exception catch bloğu tarafından yakalanır.

When Anahtar Kelimesiyle İstisna Filtreleri Kullanma

C# ayrıca catch bloğunda bir koşul belirtmenizi sağlamak için istisna filtrelerini destekler. Bu özellik, çalışma zamanında değerlendirilen koşula bağlı olarak hangi istisnaların yakalanacağı konusunda daha fazla kontrol sağlamak için when anahtar kelimesini kullanır.

İşte istisna filtreleri eklemek için when anahtar kelimesini nasıl kullanabileceğiniz:

try
{
    // Code that may throw an exception
    throw new InvalidOperationException("Invalid operation occurred", new Exception("Inner exception"));
}
catch (Exception ex) when (ex.InnerException != null)
{
    Console.WriteLine("Exception with inner exception caught: " + ex.Message);
}
catch (Exception ex)
{
    Console.WriteLine("Exception caught: " + ex.Message);
}

Finally Bloğunun Rolü

finally bloğu, try ve herhangi bir catch blokları tamamlandıktan sonra kodu yürütmek için kullanılır. Bir istisna olup olmadığına bakılmaksızın kaynakları temizlemek için, dosya akışlarını veya veritabanı bağlantılarını kapatma gibi yararlıdır.

try
{
    // Code that might throw an exception
}
catch (Exception e)
{
    // Handle the exception
}
finally
{
    // Cleanup code, executed after try/catch
    Console.WriteLine("Cleanup code runs here.");
}

IronPDF Tanıtımı

IronPDF, .NET uygulamaları içinde çalışan C# geliştiricileri için tasarlanmış kapsamlı bir kütüphanedir. Geliştiricilerin PDF dosyalarını HTML'den doğrudan oluşturmasına yardımcı olur. Çalışması için harici bir bağımlılığa ihtiyaç duymaz.

Adobe Acrobat kullanmadan ve yüklemeden herhangi bir PDF işlemi yapabilirsiniz. IronPDF, düzenleme, birleştirme, bölme ve PDF belgelerini şifreleme ve dijital imzalarla güvence altına alma gibi çeşitli PDF işlevlerini destekler. Geliştiriciler, web uygulamaları, masaüstü uygulamaları ve hizmetler dahil olmak üzere çeşitli uygulama türlerinde IronPDF'i kullanabilir.

Bağlantı:

IronPDF'nin ana özelliği HTML'yi PDF'ye dönüştürme, ki bu da hem düzeneği hem de stili korur. Raporlar, faturalar veya dokümantasyon için olsun web içeriğinden PDF üretimi için mükemmeldir. HTML dosyaları, URL'ler ve HTML dizgeleri, hepsi PDF dosyalarına dönüştürülebilir.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Kod Örneği

IronPDF kullanarak HTML'den PDF oluşturma ve birden fazla istisna türü için hata yönetimi içeren basit bir C# örneği. Bu örnekte, projenizde IronPDF'in yüklü olduğunu varsayarız. IronPDF'i kurmak için NuGet konsolunda bu komutu çalıştırın:

PM > Install-Package IronPdf

İşte kod:

using IronPdf;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronPDF license key, if applicable.
        License.LicenseKey = "License-Key";
        var renderer = new ChromePdfRenderer();
        
        try
        {
            // Convert HTML to PDF
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, World!</h1>");
            pdf.SaveAs("Exceptions.pdf");
            Console.WriteLine("PDF successfully created.");
        }
        catch (IronPdf.Exceptions.IronPdfProductException ex)
        {
            // Handle PDF generation errors
            Console.WriteLine("Failed to generate PDF: " + ex.Message);
        }
        catch (System.IO.IOException ex)
        {
            // Handle IO errors (e.g., disk I/O errors)
            Console.WriteLine("IO Exception: " + ex.Message);
        }
        catch (Exception ex)
        {
            // Handle other errors
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}

Bu kodu çalıştırdığımızda, bu mesaj komut satırında gösterilir.

C# Çoklu İstisna Yakalama (Geliştiriciler İçin Nasıl Çalışır): Şekil 1

Ve bu kod tarafından üretilen PDF dosyası:

C# Çoklu İstisna Yakalama (Geliştiriciler İçin Nasıl Çalışır): Şekil 2

IronPDF'in doğru yapılandırıldığı bir ortamda test ettiğinizden emin olun ve uygulamanız için gereken HTML içeriğini değiştirin. Bu, hata yönetimini verimli bir şekilde yönetmenize yardımcı olacak, PDF oluşturma görevlerinizin güvenilirliğini artıracaktır.

Sonuç

C#'da birden fazla istisna yönetmek, uygulamalarınıza sağlam hata yönetim yetenekleri sağlayan güçlü bir özelliktir. Birden fazla catch bloğu, istisna filtreleri ve finally bloğu kullanarak, farklı hataları zarifçe ele alan ve çeşitli hata koşulları altında bütünlüğünü koruyan dayanıklı ve istikrarlı bir uygulama oluşturabilirsiniz.

Birden fazla istisna yönetiminin bu kapsamlı kavranışı ve uygulanması, uygulamalarınızın beklenmedik durumlarla etkili bir şekilde başa çıkmaya hazır olmasını sağlar. IronPDF, $999 tarihinden başlayarak ücretsiz deneme sunar.

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