Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Gestion des Erreurs | Structures Supplémentaires et Gestion des Fichiers
C# au-delà des Bases
course content

Contenu du cours

C# au-delà des Bases

C# au-delà des Bases

1. Structures Supplémentaires et Gestion des Fichiers
2. Structures et Énumérateurs
3. Introduction à la Programmation Orientée Objet (POO)
4. Essentiels de la POO
5. Principes de la POO

book
Gestion des Erreurs

Vous avez peut-être rencontré le terme erreur d'exécution dans les chapitres précédents. Une erreur d'exécution est une erreur qui se produit pendant que le programme est en cours d'exécution - d'où le nom "erreur d'exécution".

Habituellement, lorsqu'une erreur d'exécution se produit, le programme plante ou cesse de répondre.

Le compilateur peut nous aider en signalant la plupart des erreurs dans notre code, mais les erreurs d'exécution sont généralement imprévisibles et dépendent souvent de paramètres incertains.

Par exemple, dans le cas où le chemin de fichier passé dans StreamReader est invalide ou n'existe pas, cela entraînera une erreur d'exécution et le programme plantera. Par conséquent, nous mettons souvent ce type de code dangereux dans des blocs try-catch pour essayer un code, et en cas d'échec, nous attrapons et gérons l'erreur au lieu de provoquer le plantage du programme.

Voici la syntaxe du bloc try-catch :

cs

index

copy
1234567
try { // code to try } catch (Exception errorVar) { // code to handle error }

Ici, Exception est un mot-clé qui représente le type de données Exception.

Exemple :

cs

index

copy
1234567891011121314151617
using System; using System.IO; class Program { static void Main(string[] args) { try { new StreamWriter("C:/a/random/path/that/does/not/exist.txt"); } catch(Exception error) { Console.WriteLine(error.Message); } } }

Voici quelques cas courants où une erreur d'exécution peut se produire :

Division par zéro

cs

index

copy
123456789101112131415161718
using System; class Program { static void Main(string[] args) { try { int a = 100; int b = 0; int result = a / b; } catch { Console.WriteLine("ERROR: Division by Zero."); } } }

Index invalide d'un tableau ou d'une liste

cs

index

copy
1234567891011121314151617
using System; class Program { static void Main(string[] args) { try { var exampleArray = new int[10]; Console.WriteLine(exampleArray[20]); } catch { Console.WriteLine("ERROR: The array index is out of bounds."); } } }

Clé non trouvée (pour les dictionnaires) :

cs

index

copy
123456789101112131415161718192021
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { try { Dictionary<string, string> myDict = new Dictionary<string, string> { { "key1", "value1" } }; Console.WriteLine(myDict["key2"]); } catch { Console.WriteLine("Error: Key not found"); } } }

Le bloc "finally"

Il existe également un bloc de code optionnel appelé finally qui est exécuté après l'exécution du bloc catch :

cs

index

copy
12345678910111213141516171819202122232425
using System; using System.Collections.Generic; class Program { static void Main(string[] args) { try { Dictionary<string, string> myDict = new Dictionary<string, string> { { "key1", "value1" } }; Console.WriteLine(myDict["key2"]); } catch { Console.WriteLine("Error: Key not found"); } finally { Console.WriteLine("This line will show after the error"); } } }

1. Quel sera le résultat du programme suivant ?

2. En C#, quel est le but du bloc finally ?

3. Laquelle des affirmations suivantes est vraie concernant le bloc try-catch en C# ?

Quel sera le résultat du programme suivant ?

Quel sera le résultat du programme suivant ?

Sélectionnez la réponse correcte

En C#, quel est le but du bloc `finally` ?

En C#, quel est le but du bloc finally ?

Sélectionnez la réponse correcte

Laquelle des affirmations suivantes est vraie concernant le bloc `try-catch` en C# ?

Laquelle des affirmations suivantes est vraie concernant le bloc try-catch en C# ?

Sélectionnez quelques réponses correctes

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 9
We're sorry to hear that something went wrong. What happened?
some-alt