 |
 |
Manipulation d'exception
|
Pratiquement n'importe quel programme comprenant le c# .net peut avoir une certaine quantit� d'erreurs. Elles peuvent �tre largement classifi�es en tant que des erreurs au moment de la compilation et erreurs d'ex�cution. Les erreurs au moment de la compilation sont des erreurs qui peuvent �tre trouv�es pendant le processus de compilation du code source. La plupart d'entre elles est des erreurs de syntaxe. Les erreurs d'ex�cution se produisent quand le programme fonctionne.
|
Il est tr�s difficile de trouver et corriger les erreurs d'ex�cution. Ces erreurs ont �galement appel� des exceptions. Les r�gles du bon mod�le de codage indiquent que le programme doit pouvoir manipuler n'importe quelle erreur d'ex�cution. L'exception produit d'un appel d'exception au temps d'ex�cution. Des exceptions dans C# peuvent s'appeler en utilisant deux m�thodes :
|
- Employer l'op�rateur de jet. Il appellent le code de gestion de toute fa�on et traitent une exception.
-
Si employer les op�rateurs va de travers, il peut produire d'une exception.
|
Diff�rents types d'exceptions
|
La langue de C# emploie beaucoup de types d'exceptions, qui sont d�finies dans les classes sp�ciales. Tous sont h�rit�s de la classe basse appel�e System.Exception. Il y a des classes qui traitent beaucoup de genres d'exceptions : hors de l'exception de m�moire, l'exception de d�bordement de pile, l'exception nulle de r�f�rence, index hors d'exception de gamme, invalide a moul� l'exception, l'exception arithm�tique etc. Ce cours d'instruction de c# traite des classes d'exception et de coutume de c# de DivideByZero dans des exceptions de c#.
|
C# a d�fini quelques mots-cl�s pour traiter des exceptions. Les plus importants sont essai, crochet et finalement.
|
Le premier � conna�tre est l'op�rateur d'essai. Ceci est employ� dans une partie de code, o� l� existe une possibilit� d'exception � jeter. Mais op�rateur ? essai ? est toujours employ� avec les op�rateurs : crochet et finalement.
|
Voir l'exemple suivant de manipuler une exception simple dans le c#.
|
// try catch exception
int zero = 0;
try
{
int div = 100/zero;
}
catch(DivideByZeroException)
{
Console.WriteLine("Division by zero exception passed");
}
|
|
Ce code dans le temps d'ex�cution jette un DivideByZeroException et �crit un certain message par la console. Mais si vous voulez lib�rer quelques ressources qui t'ont �t� cr��es doivent-elles employer l'essai ? finalement construction. Enfin s'appellera m�me s'il n'y avait aucune exception augment�e.
|
Bitmap bit = null;
// try finally exception
try
{
bit = new Bitmap(100,100);
}
finally
{
bit.Dispose();
Console.WriteLine("bitmap is disposed");
}
|
|
Dans la mani�re semblable nous pouvons employer l'essai ? crochet ? finalement construction.
|
Quelques plus grands projets pourraient avoir une condition de cr�er leurs propres classes faites sur commande d'exception. Essayons de cr�er la classe qui valide l'email address. Elle validera pour ? @ ? symbole. Veuillez aller voir sur le morceau suivant de code :
|
public class TextException : Exception
{
public TextException() : base()
{
}
public TextException(string message) : base(message)
{
}
}
public class MailValidator
{
MailValidator()
{
}
private static char symbol = '@';
public static void TestEnteredMail(string mailAddress)
{
if(mailAddress.IndexOf(symbol)==-1)
{
Console.WriteLine("The string entered is not a valid email address");
throw(new TextException());
}
}
}
|
|
Voici �tre C.A. cr�� #. Classe nette de TextException qui h�rite de la classe de System.Exception de la biblioth�que de classe de .NET. En fait elle ne fait rien, mais il y a une classe additionnelle MailValidator. Il a la m�thode de TestEnteredMail qui soul�ve un TextException. Regarder maintenant l'utilisation de elle dans la fonction principale.
|
try
{
MailValidator.TestEnteredMail(Console.ReadLine());
}
catch(TextException)
{
Console.WriteLine("Exception was passed");
}
|
|
Ainsi, si l'utilisateur �crit l'adresse de courrier sans � @ � jets de symbole une exception.
|
 |
 |
Keywords Exception Handling, java exception, oracle exception, c++ exception, c# exception,
jsp exception, exception api, exception tutorial, throw exception,
exception framework, exception vc++, exception plsql, struts exception,
exception throwing, package handling, throws exception, exception servlet,
exception sql, sample handling, exception block, catch exception, application exception,
exception method
|