IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

C# Catch Multiple Exceptions (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Gérer les exceptions correctement est essentiel en C#. Ce tutoriel vous montre comment utiliser un bloc try-catch avec plusieurs clauses catch. Nous examinerons comment intercepter plusieurs types d'exceptions, utiliser des filtres d'exception et garantir le nettoyage des ressources avec enfin. L'objectif est de vous aider à construire des applications C# robustes et tolérantes aux erreurs.

En apprenant à attraper plusieurs types d'exceptions, vous pouvez adapter les réponses à des problèmes spécifiques, améliorant la fiabilité de votre programme. Nous aborderons également comment appliquer des conditions aux blocs catch avec le mot-clé when, permettant une gestion des erreurs plus précise.

Ce guide vous donnera les méthodes pour attraper des exceptions et gérer les erreurs communes et complexes en douceur dans vos projets de codage. Nous explorerons également IronPDF dans le contexte de la gestion des exceptions.

Qu'est-ce que la gestion des exceptions ?

La gestion des exceptions en C# est une méthode utilisée pour gérer les erreurs d'exécution, prévenir la fin abrupte d'un programme, et gérer les situations imprévues lorsqu'elles se produisent pendant l'exécution d'un programme. Les composants principaux de la gestion des exceptions incluent les blocs try, catch, et finally.

Basic Structure of Try-Catch in C#

Le bloc try inclut du code qui pourrait potentiellement déclencher une exception, tandis que le bloc catch est responsable de gérer l'exception si elle se présente. Le bloc finally est optionnel et exécute du code après les blocs try et catch, qu'une exception ait été levée ou non. Voici une structure simple :

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
}

Capter plusieurs exceptions

Dans les applications réelles, une seule opération peut lever des exceptions de différents types. Pour y remédier, C# vous permet de définir plusieurs blocs catch pour un bloc try unique. Chaque bloc catch peut spécifier un type d'exception différent pour gérer toutes les exceptions.

Pourquoi attraper plusieurs exceptions ?

Attraper plusieurs exceptions est essentiel pour une gestion détaillée des erreurs, où les actions dépendent de l'erreur spécifique qui s'est produite. Cela permet aux développeurs de gérer chaque exception de manière appropriée dans le contexte de cette erreur particulière.

Comment implémenter plusieurs blocs catch

Voici un exemple d'implémentation d'un bloc catch unique pour attraper plusieurs types d'exceptions :

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

Dans ce code, des exceptions spécifiques comme IndexOutOfRangeException et DivideByZeroException sont attrapées par leurs blocs catch respectifs. Tout autre type d'exception est attrapé par le bloc catch générique Exception.

Utiliser les filtres d'exception avec le mot-clé When

C# supporte également les filtres d'exception qui vous permettent de spécifier une condition dans le bloc catch. Cette fonctionnalité utilise le mot-clé when pour offrir un meilleur contrôle sur les exceptions à attraper en fonction de la condition évaluée à l'exécution.

Voici comment vous pouvez utiliser le mot-clé when pour ajouter des filtres d'exception :

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

Le rôle du bloc Finally

Le bloc finally est utilisé pour exécuter du code après les blocs try et tout bloc catch sont terminés. Il est utile pour nettoyer les ressources, comme fermer les flux de fichiers ou les connexions à la base de données, indépendamment du fait qu'une exception soit survenue.

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

Introduction de IronPDF

IronPDF est une bibliothèque complète conçue pour les développeurs C# travaillant dans les applications .NET. Elle aide les développeurs à manipuler, gérer et créer des fichiers PDF directement à partir du HTML. Il ne nécessite pas de dépendance externe pour fonctionner.

Vous pouvez effectuer n'importe quelle opération PDF sans utiliser ni installer Adobe Acrobat. IronPDF supporte diverses fonctionnalités PDF telles que l'édition, la fusion, la division et la sécurisation de documents PDF avec un cryptage et des signatures numériques. Les développeurs peuvent utiliser IronPDF dans plusieurs types d'applications, y compris les applications web, de bureau et les services.

Interconnexion :

La fonctionnalité clé d'IronPDF est la conversion de HTML en PDF, qui conserve à la fois la mise en page et le style. Elle est parfaite pour produire des PDFs à partir de contenu web, que ce soit pour des rapports, des factures ou des documentations. Les fichiers HTML, les URL, et les chaînes HTML peuvent tous être convertis en fichiers PDF.

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

Exemple de Code

Voici un simple exemple en C# avec IronPDF pour créer un PDF à partir de HTML, avec une gestion des erreurs pour plusieurs types d'exceptions. Cet exemple suppose que vous avez installé IronPDF dans votre projet. Exécutez cette commande dans la console NuGet pour installer IronPDF :

PM > Install-Package IronPdf

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

Lorsque nous exécutons ce code, ce message apparaît dans la ligne de commande.

C# Capture de multiples exceptions (Comment cela fonctionne pour les développeurs) : Figure 1

Et c'est le fichier PDF généré par ce code :

C# Capture de multiples exceptions (Comment cela fonctionne pour les développeurs) : Figure 2

Assurez-vous de tester cela dans un environnement où IronPDF est correctement configuré, et modifiez le contenu HTML selon les besoins de votre application. Cela vous aidera à gérer les erreurs efficacement, améliorant la fiabilité de vos tâches de génération de PDF.

Conclusion

Gérer plusieurs exceptions en C# est une fonctionnalité puissante qui offre des capacités robustes de gestion des erreurs dans vos applications. En utilisant plusieurs blocs catch, des filtres d'exception, et le bloc finally, vous pouvez créer une application résiliente et stable qui gère différents types d'erreurs avec élégance et maintient son intégrité dans diverses conditions d'erreur.

Cette compréhension et implémentation complètes de la gestion de multiples exceptions garantissent que vos applications sont bien préparées à faire face efficacement aux situations imprévues. IronPDF offre un essai gratuit à partir de $999.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $