IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

Try/Catch en C# (Comment ça fonctionne pour les développeurs)

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

Si vous êtes nouveau dans la programmation en C#, vous avez peut-être entendu parler de la déclaration "try catch" souvent mentionnée. Dans ce tutoriel, nous allons plonger dans le monde de la gestion des exceptions, en nous concentrant sur les blocs catch, et explorer comment vous pouvez utiliser les déclarations try et catch pour rendre votre code plus résistant aux erreurs. Tout au long du parcours, nous fournirons de nombreux exemples réels pour renforcer votre compréhension.

Quelles sont les Exceptions, et Pourquoi les Gérer ?

En C#, une exception représente un événement qui survient pendant l'exécution d'un programme, perturbant la progression normale de l'exécution des instructions du programme. Lorsqu'une exception se produit, le flux du programme est détourné, et si l'exception n'est pas gérée, le programme se termine brutalement.

La gestion des exceptions est un moyen de prévoir et de gérer ces événements perturbateurs, permettant à votre programme de se rétablir face aux problèmes inattendus et de continuer à fonctionner comme prévu. En utilisant les blocs try et catch, vous pouvez vous assurer que votre code gère gracieusement les erreurs et fournit aux utilisateurs des retours pertinents.

Le Bloc Try

Un bloc try est un segment de code que vous pensez susceptible de générer des exceptions. Lorsque vous enveloppez votre code dans un bloc try, vous indiquez au compilateur que vous souhaitez gérer les exceptions potentielles qui pourraient survenir dans ce bloc.

Voici un exemple de base sur la façon d'utiliser un bloc try :

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

Bloc Catch Capturant des Exceptions

La déclaration catch est utilisée de concert avec un bloc try pour gérer les exceptions. Lorsqu'une exception se produit dans un bloc try, l'exécution du programme passe au bloc catch approprié, où vous pouvez spécifier ce que le programme doit faire en réponse à l'exception.

Pour capturer une exception, vous devez créer un bloc catch immédiatement après le bloc try. Un bloc catch inclut généralement un paramètre représentant l'exception capturée.

Voici un exemple d'une déclaration catch en action :

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

Dans cet exemple, le code à l'intérieur du bloc try tente de diviser par zéro, ce qui générera un DivideByZeroException. Le bloc catch gère ensuite l'exception, affichant un message à l'utilisateur.

Blocs Catch Multiples Gérant Différentes Exceptions

Parfois, votre bloc try peut générer différents types d'exceptions possibles. Dans de tels cas, vous pouvez utiliser plusieurs blocs catch pour gérer chaque type d'exception séparément.

L'exemple suivant démontre l'utilisation de plusieurs blocs catch :

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

Dans cet exemple, le code à l'intérieur du bloc try tente d'attribuer une valeur à un indice de tableau qui n'existe pas, générant un IndexOutOfRangeException. Le premier bloc catch gère cette exception spécifique, tandis que le second bloc catch capture toute autre exception qui pourrait survenir.

Souvenez-vous, lorsque vous utilisez plusieurs blocs catch, ordonnez-les toujours des types d'exceptions les plus spécifiques aux plus générales.

Filtres d'Exception Ajoutant des Conditions aux Blocs Catch

Les filtres d'exception vous permettent d'ajouter des conditions aux blocs catch, vous permettant de capturer des exceptions uniquement si une certaine condition est remplie. Pour utiliser un filtre d'exception, ajoutez le mot-clé when suivi d'une condition dans votre instruction catch.

L'exemple suivant démontre l'utilisation de filtres d'exception :

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

Dans l'exemple ci-dessus, le premier bloc catch gérera le DivideByZeroException seulement si le message d'exception contient le mot "divide". Si la condition n'est pas remplie, le second bloc catch gérera l'exception.

Le Bloc Finally Assure l'Exécution du Code

Dans certains cas, vous pourriez vouloir vous assurer qu'une section de code particulière est exécutée, qu'une exception se produise ou non. Pour y parvenir, vous pouvez utiliser un bloc finally.

Un bloc finally est placé après les blocs try et catch et est toujours exécuté, qu'une exception se produise ou non.

Voici un exemple qui démontre l'utilisation d'un bloc finally :

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

Dans l'exemple ci-dessus, même si le code dans le bloc try ne génère pas d'exception, le bloc finally sera quand même exécuté.

Exceptions Personnalisées : Adapter les Exceptions à Vos Besoins

Parfois, vous pourriez vouloir créer vos propres exceptions personnalisées pour gérer des exceptions spécifiques dans votre code. Pour ce faire, vous pouvez créer une nouvelle classe qui hérite de la classe Exception.

Voici un exemple de création d'une exception personnalisée :

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

Désormais, vous pouvez utiliser cette exception personnalisée dans vos blocs try et catch, comme ceci :

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

Dans cet exemple, le bloc try lance une instance de CustomException, qui est ensuite capturée et gérée par le bloc catch.

IronPDF : Intégration de la Fonctionnalité PDF avec la Gestion des Exceptions

En savoir plus sur IronPDF est une bibliothèque populaire pour créer, éditer, et extraire le contenu des fichiers PDF en C#. Dans cette section, nous explorerons comment vous pouvez intégrer IronPDF avec votre approche de gestion d'exceptions try-catch pour gérer les erreurs potentielles de manière élégante.

Installer IronPDF

Pour commencer, vous devrez d'abord installer le package NuGet IronPDF. Vous pouvez le faire en utilisant la console du gestionnaire de packages :

PM > Install-Package IronPdf

Ou, vous pouvez rechercher "IronPDF" dans la boîte de dialogue "Gérer les Packages NuGet" dans Visual Studio.

Créer un PDF avec IronPDF et Gérer les Exceptions

Supposons que vous souhaitiez créer un fichier PDF à partir d'une chaîne HTML avec IronPDF. Comme le processus de création d'un PDF peut potentiellement soulever des exceptions, vous pouvez utiliser des blocs try-catch pour les gérer. Voici un exemple de comment vous pouvez créer un PDF en utilisant IronPDF et gérer les exceptions avec try-catch :

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

Dans cet exemple, le bloc try contient le code pour créer un PDF avec IronPDF. Si une exception survient pendant le processus, le bloc catch gérera l'erreur, affichant un message d'erreur pertinent à l'utilisateur.

Extraire le Texte d'un PDF et Gérer les Exceptions

Vous pourriez également vouloir extraire du texte d'un fichier PDF avec IronPDF. Comme dans l'exemple précédent, vous pouvez utiliser des blocs try-catch pour gérer les exceptions potentielles.

Voici un exemple d'extraction de texte d'un fichier PDF avec IronPDF et de gestion des exceptions :

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

Try/Catch en C# (Comment cela fonctionne pour les développeurs) Figure 1

Dans cet exemple, le bloc try contient le code pour extraire du texte d'un PDF avec IronPDF. Si une exception survient pendant le processus, le bloc catch gérera l'erreur, affichant un message pertinent à l'utilisateur.

Conclusion

En combinant IronPDF avec votre approche de gestion d'exceptions try-catch, vous pouvez créer des applications robustes qui gèrent élégamment les erreurs lors du travail avec des fichiers PDF. Cela améliore non seulement la stabilité de vos applications, mais aussi l'expérience utilisateur globale.

Souvenez-vous de toujours considérer les exceptions potentielles lors de l'utilisation de bibliothèques externes comme IronPDF, et de les gérer de manière appropriée en utilisant des déclarations try et catch. De cette manière, vous pouvez vous assurer que vos applications sont résistantes et conviviales, même face à des problèmes inattendus.

IronPDF offre un essai gratuit de sa bibliothèque, vous permettant d'explorer ses capacités sans engagement. Si vous décidez de continuer à utiliser IronPDF après la période d'essai, la licence commence à 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.

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 IronPDF
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