16.11. Orientation objet en C# : gestion des exceptions

Página 27

L'orientation objet en C# est une approche de programmation qui implique la création d'objets contenant à la fois des données et des méthodes. L’une des parties les plus importantes de l’orientation objet en C# est la gestion des exceptions. Les exceptions sont des événements qui se produisent pendant l'exécution d'un programme et qui interrompent le déroulement normal du programme.

En C#, la gestion des exceptions se fait principalement via l'utilisation de blocs try, catch et enfin. Le bloc try contient du code susceptible de provoquer une exception. Le bloc catch est utilisé pour gérer l’exception si elle se produit. Le bloc final contient du code qui est toujours exécuté, qu'une exception se produise ou non.

Commençons par un exemple simple. Considérez le code suivant :

essayer { entier x = 0 ; entier y = 5 / x ; } attraper (DivideByZeroException e) { Console.WriteLine(e.Message); } enfin { Console.WriteLine("Bloc finalement exécuté."); }

Dans cet exemple, nous essayons de diviser un nombre par zéro, ce qui entraînera une exception DivideByZeroException. Lorsque cette exception est levée, le contrôle est passé au bloc catch, qui imprime le message d'exception. Ensuite, le bloc final est exécuté, imprimant le message "Enfin le bloc exécuté".

Il est important de noter que le bloc catch ne sera exécuté que si l'exception spécifiée est levée. Si une exception différente est levée, le bloc catch ne sera pas exécuté. Par exemple, si nous modifions notre code comme suit :

essayer { tableau int[] = nouveau int[5]; Console.WriteLine(array[5]); } attraper (DivideByZeroException e) { Console.WriteLine(e.Message); } enfin { Console.WriteLine("Bloc finalement exécuté."); }

Dans ce cas, une exception IndexOutOfRangeException sera levée, car nous essayons d'accéder à un index de tableau qui n'existe pas. Cependant, comme notre bloc catch intercepte uniquement les exceptions DivideByZeroException, cette exception ne sera pas interceptée et le programme s'arrêtera. Cependant, le bloc final sera quand même exécuté.

Pour gérer différents types d'exceptions, nous pouvons avoir plusieurs blocs catch. Par exemple :

essayer { // code pouvant lever des exceptions } attraper (DivideByZeroException e) { Console.WriteLine("Diviser par zéro exception : " + e.Message); } attraper (IndexOutOfRangeException e) { Console.WriteLine("Exception d'index hors plage : " + e.Message); } enfin { Console.WriteLine("Bloc finalement exécuté."); }

Dans ce cas, si une exception DivideByZeroException ou IndexOutOfRangeException est levée, elle sera interceptée et traitée en conséquence.

De plus, nous pouvons avoir un bloc catch sans spécifier de type d'exception. Ce bloc catch interceptera toutes les exceptions qui n'ont pas été interceptées par les blocs catch précédents. Par exemple :

essayer { // code pouvant lever des exceptions } attraper (DivideByZeroException e) { Console.WriteLine("Diviser par zéro exception : " + e.Message); } attraper (IndexOutOfRangeException e) { Console.WriteLine("Exception d'index hors plage : " + e.Message); } attraper (exception e) { Console.WriteLine("Exception générique : " + e.Message); } enfin { Console.WriteLine("Bloc finalement exécuté."); }

Dans ce cas, si une exception autre que DivideByZeroException ou IndexOutOfRangeException est levée, elle sera interceptée par le bloc catch générique.

En résumé, la gestion des exceptions est une partie importante de l'orientation objet en C#, car elle nous permet de gérer les erreurs et les exceptions de manière contrôlée, empêchant ainsi notre programme de s'arrêter de manière inattendue. En utilisant les blocs try, catch et enfin, nous pouvons garantir que notre code est robuste et fiable.

Répondez maintenant à l’exercice sur le contenu :

Quelle est la fonction du bloc catch dans la gestion des exceptions en C# ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

2816.12. Orientation objet en C# : collections en C#

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte