Menu
Coddy logo textTech

Blocs Catch multiples

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

Les blocs catch multiples vous permettent de gérer différents types d'exceptions avec un 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 sera exécuté. Ordonnez vos blocs catch du type d'exception le plus spécifique au plus général.

challenge icon

Défi

Facile

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

  • numeratorStr : une chaîne représentant le numérateur
  • denominatorStr : une chaîne représentant le dénominateur

La méthode doit :

  1. Essayer de parser les deux chaînes en entiers
  2. Essayer de diviser le numérateur par le dénominateur
  3. Retourner le résultat 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 toutes les autres exceptions avec un bloc catch général qui affiche "An error occurred" et en retournant 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