C # Essayez Catch

C # Essayez Catch
Une exception est un état ou un événement qui s'est produit au moment de l'exécution, qui n'est pas prévu lors de l'écriture du code source. Pour surmonter cette situation, un code spécial est nécessaire avec l'objet d'exception pour rectifier cela. Ce code contient quatre blocs, dont deux sont les principaux éléments qui doivent être utilisés pour que l'exception soit gérée pour essayer et attraper des blocs. Ces quatre blocs sont expliqués ci-dessous.
  • Essayez: cela définit un bloc d'essai; Nous utilisons la déclaration qui peut entraîner toute erreur à l'intérieur de ce bloc d'essai.
  • Catch: ce bloc est utilisé pour attraper l'exception générée par le bloc d'essai. L'objet d'une exception génère l'erreur à l'intérieur de ce bloc.
  • Enfin: tout code que vous souhaitez générer en tout cas est écrit à l'intérieur de ce bloc.
  • Throw: Ce bloc est utilisé pour lancer l'exception manuellement du bloc d'essai au bloc de capture.

Exemple 1

Pour mettre en œuvre le concept de couple d'essai, nous utiliserons d'abord un programme simple en C. Tout d'abord, nous déclarerons un tableau de types de données entiers. Tout en déclarant le tableau, nous n'avons pas à déclarer la taille du tableau. Mais, lorsque les valeurs sont attribuées, l'index est fixé automatiquement. Ainsi, dans ce cas, le tableau d'index 4 sera créé.

Int [] arr = 1, 2, 3, 4, 5;

Pour afficher tous les éléments d'un tableau, nous utiliserons une boucle pour une boucle. La fonction du tableau, arrond.La longueur () est utilisée pour trouver la longueur totale du tableau jusqu'auquel la boucle iratera. Cette fonction est appelée via l'objet de tableau. La déclaration de la console jouera son rôle dans l'affichage des éléments du tableau. Mais, nous utiliserons l'index du tableau qui dépasse sa taille réelle. Par exemple, la taille du tableau est de 4, mais nous utiliserons l'index 7 pour afficher sa valeur.

Console.WriteLine (Arr [7]);

Cela entraînera une erreur; Une exception sera lancée lorsque cette ligne sera exécutée.

Pour compiler le code précédent, nous avons utilisé le compilateur MCS requis dans le terminal Linux, tandis que Mono est utilisé pour exécuter le code exécutable avec le .extension exe.

Fichier $ MCS.CS
$ Mono fichier.exe

La valeur résultante sera les éléments présents dans un tableau affiché via la boucle «pour». Mais qu'en est-il de la dernière ligne utilisée pour afficher l'élément au 7ème index du tableau? L'indice est hors de la plage donnée, donc une exception se produira.

Pour surmonter cette erreur ou pour éviter l'exception, nous utilisons le concept d'essayer et de prendre. Ces deux sont les outils que nous utilisons dans le code qui aide à l'exécution fluide du code sans mettre en évidence l'erreur qui rend le programme terminé.

Le phénomène d'essai de capture fonctionne pour que l'instruction ou le code qui, selon vous, puisse provoquer une génération d'erreurs est écrit à l'intérieur du corps d'essai. Par exemple, la phrase utilisée pour afficher la valeur du 7e index, écrite dans le code précédent, sera utilisée à l'intérieur du corps d'essai.

Maintenant, nous appliquerons cette approche au code précédent. Tous les éléments sont affichés de la même manière par la boucle en restant à l'intérieur de la plage du tableau. En ce qui concerne l'élément du 7e index, écrivez cette déclaration dans le bloc d'essai.

Essayer
Console.WriteLine (Arr [7]);

Après avoir déclaré le corps d'essai, nous utiliserons le bloc de capture. Ce bloc est la partie principale pour éviter l'exception. Il gère l'erreur en affichant le message d'erreur et, en même temps, en exécutant avec succès le programme. Le message affiché est la propriété de l'objet qui appartient à l'erreur de type indexoutofrangeException.

Attraper
Console.WriteLine ("Message", E.message);

Ce message fonctionnera via l'objet; Un message est ce que nous avons utilisé, tandis que l'objet affiche l'autre.

Vous pouvez voir la valeur résultante. Le message d'erreur s'affiche via les blocs de capture d'essai.

Exemple n ° 2

Il n'est pas obligatoire de toujours utiliser un seul essai et un seul bloc de capture. Nous pouvons utiliser plus d'un bloc de capture pour un seul bloc d'essai. Dans le code d'exception C Sharp, plusieurs blocs de capture sont utilisés lorsque l'utilisateur n'est pas sûr du type d'erreur. L'utilisateur ne sait pas quel type d'exception peut se produire. C'est pourquoi nous utilisons différents blocs de capture pour gérer tout type d'erreur que nous pouvons rencontrer.

En utilisant plusieurs captures, il existe un bloc final. Cette partie du code est exécutée indépendamment de la question de savoir si l'erreur se produit.

La syntaxe simple de plusieurs captures est donnée ci-dessous:

essayer

// Toute déclaration
Catch (OBJ)

// Code de gestionnaire
Catch (OBJ)

// Code de gestionnaire
enfin

// Code par défaut

Dans l'exemple donné, nous afficherons les valeurs à l'intérieur du tableau dans le bloc final. Considérez le code source dans lequel un tableau de 4 éléments est déclaré. À l'intérieur du corps d'essai, nous avons utilisé pour Loop pour récupérer chaque élément d'un tableau et appliquer la condition donnée.

Console.writeLine (arr [i] / arr i +1]);

À l'intérieur de la boucle, chaque élément est récupéré et divisé par le numéro suivant du tableau. Après le corps d'essai, nous utiliserons une séquence de blocs de capture pour mentionner les exceptions de différents types qui peuvent être survenus en fonction de la situation.

Catch (indexoutofRangeException e)

Le premier bloc est pour l'exception hors gamme avec l'objet. Un message avec l'objet sera affiché.

De même, le deuxième bloc de capture sera:

Catch (DivideByZeRexception e)

Cette exception se produira si un nombre est divisé par zéro.

Le troisième et le dernier type de capture concerne les paramètres écrits dans l'argument en valeur excessive au lieu de la plage dans les variables déclarées.

Catch (argumentoutofRangeException e)

En les définissant, vous saurez que la capture sera exécutée et affichera la valeur.

Se déplacer vers le bloc final. Il sera exécuté si une exception se produit ou non. Et une boucle pour elle affichera les valeurs d'un tableau.

Nous avons utilisé la condition de division pour diviser le nombre avec le numéro présent à côté. Donc, si nous voyons les valeurs à la deuxième position et à 1 index, il y a «0», donc tout ce qui est divisé avec 0 provoque une exception.

Tout d'abord, l'erreur est définie, puis le bloc final affichera toutes les valeurs.

Conclusion

Un processus de traitement des exceptions traite de l'identification des erreurs, puis de les résoudre. Cela se fait en utilisant des blocs de capture d'essai à l'intérieur du code source. Le code que vous doutez qui peut provoquer une exception est écrit à l'intérieur de l'essai, et le bloc de capture supprimera cette exception. Pour un seul essai, une seule prise et plusieurs prises sont utilisées. Vous pouvez utiliser n'importe quel objet d'exception que vous pouvez penser peut être utile pour l'exception possible. Nous avons mis en œuvre des exemples suivant la prise unique et les approches de capture multiples.