Menu
Coddy logo textTech

Bases du Try-Catch

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

La gestion des exceptions en C# permet de gérer les erreurs d'exécution de manière élégante. Le bloc try-catch est la manière fondamentale de gérer les exceptions.

Créez un bloc try-catch de base :

try
{
    // Code qui pourrait lever une exception (erreur)
    int result = 10 / 0; // Ceci lèvera une DivideByZeroException
}
catch (Exception ex)
{
    // Gérer l'exception
    Console.WriteLine("An error occurred: " + ex.Message);
}

Après avoir exécuté le code ci-dessus, au lieu que votre programme plante, vous verrez :

An error occurred: Attempted to divide by zero.

Vous pouvez continuer à exécuter du code après le bloc catch :

try
{
    int result = 10 / 0;
    Console.WriteLine("This won't execute");
}
catch (Exception ex)
{
    Console.WriteLine("Caught an error: " + ex.Message);
}

Console.WriteLine("Program continues running");
challenge icon

Défi

Facile

Créez une méthode nommée DivideNumbers qui prend deux entiers en paramètres :

  • numerator - Le numérateur
  • denominator - Le dénominateur

La méthode doit :

  1. Essayer de diviser le numérateur par le dénominateur
  2. Retourner le résultat si réussi
  3. Intercepter toute DivideByZeroException et afficher exactement : "Cannot divide by zero!"
  4. Retourner 0 si une exception se produit

Aide-mémoire

La gestion des exceptions en C# utilise des blocs try-catch pour gérer les erreurs d'exécution de manière élégante :

try
{
    // Code that might throw an exception
    int result = 10 / 0;
}
catch (Exception ex)
{
    // Handle the exception
    Console.WriteLine("An error occurred: " + ex.Message);
}

L'exécution du code se poursuit après le bloc catch, empêchant le programme de planter. Vous pouvez intercepter des types d'exceptions spécifiques comme DivideByZeroException pour une gestion d'erreurs plus ciblée.

Essayez vous-même

using System;

class Program {
    public static int DivideNumbers(int numerator, int denominator) {
        // Écrivez votre code ici
    }
    
    static void Main(string[] args) {
        int numerator = int.Parse(Console.ReadLine());
        int denominator = int.Parse(Console.ReadLine());
        
        int result = DivideNumbers(numerator, denominator);
        Console.WriteLine(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