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");Défi
FacileCréez une méthode nommée DivideNumbers qui prend deux entiers en paramètres :
numerator- Le numérateurdenominator- Le dénominateur
La méthode doit :
- Essayer de diviser le numérateur par le dénominateur
- Retourner le résultat si réussi
- Intercepter toute DivideByZeroException et afficher exactement : "Cannot divide by zero!"
- Retourner 0 si une exception se produit
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);
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety