IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Mehrere Ausnahmen abfangen (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

Ausnahmen richtig behandeln ist in C# essenziell. Dieses Tutorial zeigt Ihnen, wie Sie einen Try-Catch-Block mit mehreren Catch-Anweisungen verwenden. Wir werden behandeln, wie man mehrere Ausnahmetypen abfängt, Ausnahmenfilter verwendet und sicherstellt, dass Ressourcen mit finally bereinigt werden. Das Ziel ist es, Ihnen zu helfen, robuste und fehlertolerante C#-Anwendungen zu entwickeln.

Indem Sie lernen, verschiedene Ausnahmetypen abzufangen, können Sie Reaktionen auf spezifische Probleme abstimmen und die Zuverlässigkeit Ihres Programms verbessern. Wir werden auch darauf eingehen, wie Bedingungen mit dem when-Schlüsselwort auf Catch-Blöcke angewendet werden können, um eine präzisere Fehlerbehandlung zu ermöglichen.

Dieser Leitfaden gibt Ihnen Methoden an die Hand, um Ausnahmen abzufangen und sowohl allgemeine als auch komplexe Fehler in Ihren Programmierprojekten reibungslos zu handhaben. Wir werden auch IronPDF im Kontext der Ausnahmebehandlung erkunden.

Was ist Exception Handling?

Die Ausnahmebehandlung in C# ist eine Methode zur Handhabung von Laufzeitfehlern, zur Vermeidung eines abrupten Programmabbruchs und zur Bewältigung unerwarteter Situationen, die während der Programmausführung auftreten. Die Kernkomponenten der Ausnahmebehandlung umfassen die try-, catch- und finally-Blöcke.

Basic Structure of Try-Catch in C#

Der Try-Block enthält Code, der potenziell eine Ausnahme auslösen könnte, während der Catch-Block für die Handhabung der Ausnahme zuständig ist, falls sie auftritt. Der finally-Block ist optional und führt Code nach den catch-Blöcken aus, unabhängig davon, ob eine Ausnahme aufgetreten ist oder nicht. Hier ist eine einfache Struktur:

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
}

Mehrere Ausnahmen auffangen

In realen Anwendungen kann eine einzelne Operation Ausnahmen verschiedener Typen auslösen. Um dem entgegenzuwirken, erlaubt C# die Definition mehrerer catch-Blöcke für einen einzelnen try-Block. Jeder Catch-Block kann einen anderen Ausnahmetyp spezifizieren, um alle Ausnahmen zu behandeln.

Warum mehrere Ausnahmen abfangen?

Das Abfangen mehrerer Ausnahmen ist essenziell für eine detaillierte Fehlerbehandlung, bei der die Aktionen von dem spezifischen Fehler abhängen, der aufgetreten ist. Es ermöglicht Entwicklern, jede Ausnahme auf eine Weise zu behandeln, die für den Kontext des jeweiligen Fehlers angemessen ist.

Wie man mehrere Catch-Blöcke implementiert

Hier ist ein Beispiel, wie man einen einzelnen Catch-Block implementiert, um mehrere Ausnahmetypen abzufangen:

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);
}

In diesem Code werden spezifische Ausnahmen wie IndexOutOfRangeException und DivideByZeroException von ihren jeweiligen catch-Blöcken abgefangen. Alle anderen Arten von Ausnahmen werden vom generischen Exception-Catch-Block abgefangen.

Verwendung von Ausnahmefiltern mit dem Schlüsselwort When

C# unterstützt auch Ausnahmefilter, die es Ihnen ermöglichen, eine Bedingung innerhalb des Catch-Blocks anzugeben. Diese Funktion verwendet das when-Schlüsselwort, um mehr Kontrolle darüber zu bieten, welche Ausnahmen basierend auf der zur Laufzeit ausgewerteten Bedingung abgefangen werden sollen.

Hier ist, wie Sie das when-Schlüsselwort verwenden können, um Ausnahmefilter hinzuzufügen:

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);
}

Die Rolle des letzten Blocks

Der finally-Block wird verwendet, um Code auszuführen, nachdem der try und alle catch-Blöcke abgeschlossen sind. Er ist nützlich für das Aufräumen von Ressourcen, wie das Schließen von Dateistreams oder Datenbankverbindungen, unabhängig davon, ob eine Ausnahme aufgetreten ist.

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

Einführung in IronPDF

IronPDF ist eine umfassende Bibliothek, die für C#-Entwickler in .NET-Anwendungen entwickelt wurde. Sie hilft Entwicklern, PDF-Dateien direkt aus HTML zu manipulieren, verwalten und zu erstellen. Es erfordert keine externe Abhängigkeit, um zu funktionieren.

Sie können jede PDF-Operation durchführen, ohne Adobe Acrobat zu verwenden und zu installieren. IronPDF unterstützt verschiedene PDF-Funktionalitäten wie das Bearbeiten, Zusammenführen, Aufteilen und Sichern von PDF-Dokumenten mit Verschlüsselung und digitalen Signaturen. Entwickler können IronPDF in verschiedenen Anwendungstypen nutzen, einschließlich Webanwendungen, Desktopanwendungen und Diensten.

Interlink:

Das Hauptmerkmal von IronPDF ist die Umwandlung von HTML zu PDF, wobei sowohl das Layout als auch der Stil beibehalten werden. Es ist perfekt, um PDFs aus Webinhalten zu erstellen, sei es für Berichte, Rechnungen oder Dokumentationen. HTML-Dateien, URLs und HTML-Strings können alle in PDF-Dateien konvertiert werden.

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

Codebeispiel

Hier ist ein einfaches C#-Beispiel zur Erstellung eines PDF aus HTML mit IronPDF, mit Fehlerbehandlung für mehrere Ausnahmetypen. Dieses Beispiel geht davon aus, dass IronPDF in Ihrem Projekt installiert ist. Führen Sie diesen Befehl in der NuGet-Konsole aus, um IronPDF zu installieren:

PM > Install-Package IronPdf

Hier ist der Code:

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);
        }
    }
}

Wenn wir diesen Code ausführen, erscheint diese Meldung in der Befehlszeile.

C# Catch Multiple Exceptions (How It Works For Developers): Figure 1

Und es ist die vom Code generierte PDF-Datei:

C# Catch Multiple Exceptions (How It Works For Developers): Figure 2

Stellen Sie sicher, dass Sie dies in einer Umgebung testen, in der IronPDF ordnungsgemäß konfiguriert ist, und passen Sie den HTML-Inhalt nach Bedarf für Ihre Anwendung an. Dies wird Ihnen helfen, Fehler effizient zu verwalten und die Zuverlässigkeit Ihrer PDF-Erstellung zu verbessern.

Abschluss

Das Abfangen mehrerer Ausnahmen in C# ist eine leistungsstarke Funktion, die robuste Fehlerbehandlungsmöglichkeiten in Ihren Anwendungen bietet. Durch die Verwendung mehrerer catch-Blöcke, Ausnahmefilter und des finally-Blocks können Sie eine widerstandsfähige und stabile Anwendung erstellen, die verschiedene Fehler elegant behandelt und ihre Integrität unter verschiedenen Fehlerbedingungen bewahrt.

Dieses umfassende Verständnis und die Implementierung der Mehrfachausnahmebehandlung stellen sicher, dass Ihre Anwendungen gut darauf vorbereitet sind, unerwartete Situationen effektiv zu bewältigen. IronPDF bietet eine kostenlose Testversion, die ab $999 beginnt.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $