Gestion des exceptions en C # - Fonctionnement de la gestion des exceptions en C # - Exemples

Table des matières:

Anonim

Introduction sur la gestion des exceptions en C #

Nous ne pouvons pas nous attendre à ce qu'un utilisateur entre tout le temps les bonnes informations. Cependant, si l'entrée incorrecte ou inattendue n'est pas gérée correctement, le code entier peut se bloquer ou aller avec une boucle sans fin. Il s'agit d'un problème qui démarre lors de l'exécution du programme en raison de conditions ou d'entrées inattendues. Par exemple, le résultat est infini lorsqu'un nombre est divisé par zéro. La gestion des exceptions est le moyen de dire au programme de passer au bloc de code suivant ou de fournir le résultat défini dans certaines situations. La gestion des exceptions peut être effectuée avec moins de quatre mots clés.

  1. Try: le bloc try définit le type d'exception à gérer. C'est là que l'exception serait interceptée. Il sera toujours associé à un bloc de capture.
  2. Catch: Une fois que le bloc try a défini le type et obtenu une exception lors de l'exécution, le bloc catch confirmera le type de gestionnaire d'exceptions à utiliser. Ce bloc déterminera également où l'exception doit être gérée. Comme le mot clé l'indique, c'est comme attraper l'exception.
  3. Enfin: ce bloc contient un ensemble d'instructions. Quelle que soit l'exception levée, les instructions définies dans le bloc final seront toujours exécutées.
  4. Throw: Lorsqu'une exception est interceptée, le mot clé throw est utilisé pour afficher l'exception interceptée.

Vous pouvez enregistrer le logiciel ou votre code de beaucoup de tracas en définissant le gestionnaire d'exceptions. Il est recommandé de définir un gestionnaire d'exceptions chaque fois qu'il existe une exception possible.

Syntaxe
Chaque fois que l'exception est levée, une méthode déclarée intercepte l'exception à l'aide du mot clé try and catch. Nous devons placer cette combinaison de la part du code, une exception est attendue. Ces codes sont appelés code protégé. Vous pouvez également définir plusieurs mots clés catch pour un mot clé try. À la fin du contenu, la dernière partie du code sera exécutée et sera exécutée, qu'une exception soit levée ou non.

Code

try
(
//Define the statement that could cause an exception.
)
Catch(ExceptionName secondException)
(
//error handling code
)
Finally
(
//define the statement that will be executed
)

Comment fonctionne la gestion des exceptions en C #?

Il existe de nombreuses classes prédéfinies pour gérer l'exception. Le bloc try couvre la partie du code qui pourrait lever une exception et catch confirme quoi faire lorsqu'une exception est interceptée. La dernière partie du bloc définit ce qui doit être fait, que l'exception soit détectée ou non et la partie de projection affiche le message s'il est défini.

Classes d'exception en C #

Il existe de nombreuses classes disponibles en C # à travers lesquelles les exceptions peuvent être représentées. Toutes les classes sont dérivées de la classe principale appelée System. Exception. Il existe peu de classes dérivées également de System.ApplicationException et System.SystemException.

Exemples de classes d'exception en C #

Les exceptions sont dérivées de System. Classe d'exception. Voici la liste des classes d'exceptions courantes C #.

ExceptionLa description
System.DivideByZeroExceptiongère l'erreur lors de la tentative de division d'un nombre par zéro.
System.NullReferenceExceptiongère l'erreur lors de la référence à un objet qui n'existe pas.
System.InvalidCastExceptiongère l'erreur lors de la tentative de conversion non valide.
System.IO.IOExceptionToutes les erreurs d'entrée-sortie sont gérées.
System.FieldAccessExceptionLorsque vous essayez d'accéder à une classe non autorisée

1. C # try / catch

La gestion des exceptions se fait par try et catch block en C #. Le bloc try en C # est utilisé pour placer le code qui peut lever une exception. L'exception est gérée par le bloc catch.

Exemple C # sans try / catch

Code:

using System;
public class exceptionhandling
(
public static void Main(string() args)
(
int a = 10;
int b = 0;
int x = a/b; //we are trying to divide the number with zero
Console.WriteLine("other part of the code");
)
)

Production:

Exemple C # try / catch

Code

using System;
public class ExExample
(
public static void Main(string() args)
(
try
(
int a = 10;
int b = 0;
int x = a / b;
)
catch (Exception e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)

Production:

Utilisation des classes d'exception en C # enfin

Il vous montrera le message indépendamment de l'exception est interceptée.

Code

using System;
public class Exceptionhandling
(
public static void Main(string() args)
(
try
(
int x = 5;
int y= 0;
int z = x / y;
)
catch (Exception obj) ( Console.WriteLine(obj); )
finally ( Console.WriteLine("Time to execute finally block"); )
Console.WriteLine("Other part of the code");
)
)

Production:

1. Exemple C # enfin si l'exception n'est pas gérée

Code

using System;
public class ExceptionHandling
(
public static void Main(string() args)
(
try
(
int p = 6;
int q = 0;
int r= p/q;
)
catch (NullReferenceException nullObject) ( Console.WriteLine(nullObject); )
finally ( Console.WriteLine("Exception not handled. Now Finally section will be executed"); )
Console.WriteLine("Other part of the code");
)
)

Production:

2. Exception définie par l'utilisateur C #

Non seulement le système est défini, mais nous pouvons également définir notre propre exception. Cependant, nous devons hériter du code pour y parvenir.

Code

using System;
public class userdefinedInvalidAge : Exception
(
public userdefinedInvalidAge (String errorMessage)
: base(errorMessage)
(
)
)
public class TestUserDefinedException
(
static void validateAge(int age)
(
if (age < 18)
(
throw new userdefinedInvalidAge("Sorry, Age must be greater than 18");
)
)
public static void Main(string() args)
(
try
(
validateAge(12);
)
catch (userdefinedInvalidAge e) ( Console.WriteLine(e); )
Console.WriteLine("Rest of the code");
)
)

Production:

Conclusion

À tout endroit où vous pensez qu'il pourrait générer une erreur à cause de quoi que ce soit, le gestionnaire d'exceptions devrait être utilisé. Il est essentiel que vous utilisiez une instruction catch et que vous commenciez de générique à une exception spécifique. L'ensemble de votre logiciel ou code est en danger sans gestionnaire d'exceptions approprié.

Articles recommandés

Ceci est un guide de gestion des exceptions en C #. Nous discutons ici du fonctionnement de la gestion des exceptions en C #, des exemples et de l'utilisation de c #. Vous pouvez également consulter nos autres articles connexes pour en savoir plus-

  1. Surcharge en C #
  2. Fonctions de chaîne C #
  3. Utilisations de C #
  4. Instruction C # if
  5. Guide de gestion des exceptions dans VB.NET
  6. Surcharge et remplacement en C #
  7. Événements VB.Net