Menu
Coddy logo textTech

Blocs Catch multiples

Fait partie de la section Logique & Flux du Journey C# de Coddy. Leçon 25 sur 66.

Plusieurs blocs catch vous permettent de gérer différents types d’exceptions avec du code spécifique pour chaque type d’exception.

Commencez par un bloc try de base :

try
{
    int number = int.Parse("abc");
}

Ajoutez un bloc catch pour une exception spécifique :

try
{
    int number = int.Parse("abc");
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}

Vous pouvez ajouter plusieurs blocs catch pour gérer différentes exceptions :

try
{
    int number = int.Parse("abc");
    int result = 10 / number;
}
catch (FormatException ex)
{
    Console.WriteLine("Format Exception: " + ex.Message);
}
catch (DivideByZeroException ex)
{
    Console.WriteLine("Divide By Zero Exception: " + ex.Message);
}

Le premier bloc catch correspondant s’exécutera. Ordonnez vos blocs catch des types d’exceptions les plus spécifiques aux plus généraux.

challenge icon

Défi

Facile

Créez une méthode nommée DivideNumbers qui prend deux paramètres de type string :

  • numeratorStr : une string représentant le numerator
  • denominatorStr : une string représentant le denominator

La méthode doit :

  1. Essayer de convertir les deux strings en entiers
  2. Essayer de diviser le numerator par le denominator
  3. Retourner le result sous forme d'entier
  4. Gérer FormatException en affichant "Invalid format" et en retournant 0
  5. Gérer DivideByZeroException en affichant "Cannot divide by zero" et en retournant 0
  6. Gérer toute autre exception avec un bloc catch général qui affiche "An error occurred" et retourne 0

Essayez vous-même

using System;

public class Program
{
    public static int DivideNumbers(string numeratorStr, string denominatorStr)
    {
        // Écrivez votre code ici
    }
    
    public static void Main(string[] args)
    {
        string numeratorStr = Console.ReadLine();
        string denominatorStr = Console.ReadLine();
        
        int result = DivideNumbers(numeratorStr, denominatorStr);
        Console.WriteLine("Result: " + result);
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux

Entraînez-vous par vous-même : Compilateur C# en ligne