Gestion des erreurs

Ce qu’on appelle une exception est une erreur détectée lors de l’exécution. Si elle n’est pas capturée, elle peut provoquer le crash du programme.

Bloc try/catch

Un bloc try/catch permet de gérer les exceptions sans faire planter le programme. Le code dans le bloc catch s’exécute si une erreur survient dans le try.

try
{
    fs = File.OpenRead("test.txt");
}
catch (FileNotFoundException)
{
    Console.WriteLine("Fichier introuvable.");
}
finally
{
    fs?.Close(); // Toujours exécuté
}

En plus du try/catch, le bloc finally s’exécute toujours, que l’exception soit levée ou non. C’est utile pour libérer des ressources (fichiers, bases de données etc.) Il est possible de capturer des exceptions spécifiques pour réagir différemment selon cette dernière. (Ex. ci-dessus on capture uniquement les erreurs de type FileNotFoundException)