Développement XNA pour la XBox et le PC
150
int a = 10;
int b = 0;
try
{
a /= b;
}
catch (Exception e)
{
Window.Title = e.Message;
}
Dans l’intitulé de la fenêtre, vous pouvez lire :
En C#, les exceptions particulières dérivent toutes de la classe Exception. L’exemple
précédent a levé une exception de type DivideByZeroException, mais aucun bloc catch qui
lui correspond n’est présent. Il en existe tout de même un traitant une exception de type
Exception, c’est ce bloc qui sera exécuté.
Vous pouvez donc cumuler les blocs catch de manière à effectuer un traitement spécial
pour certaines erreurs. L’extrait de code ci-dessous reprend l’exemple précédent en affichant un message spécial si l’exception levée est une division par zéro et un message plus
générique s’il s’agit d’une autre exception (sait-on jamais).
int a = 10;
int b = 0;
try
{
a /= b;
}
catch (DivideByZeroException e)
{
Window.Title = "Je le savais";
}
catch (Exception e)
{
Window.Title = e.Message;
}
Cette fois-ci, dans l’intitulé de la fenêtre, vous pouvez lire le message personnalisé.
Vous pouvez également ajouter un bloc finally qui sera exécuté, qu’une exception ait été
levée ou non.
int a = 10;
int b = 0;
Tentative de division par zéro.
Je le savais
=Labat FM.book Page 150 Vendredi, 19. juin 2009 4:01 16
150
int a = 10;
int b = 0;
try
{
a /= b;
}
catch (Exception e)
{
Window.Title = e.Message;
}
Dans l’intitulé de la fenêtre, vous pouvez lire :
En C#, les exceptions particulières dérivent toutes de la classe Exception. L’exemple
précédent a levé une exception de type DivideByZeroException, mais aucun bloc catch qui
lui correspond n’est présent. Il en existe tout de même un traitant une exception de type
Exception, c’est ce bloc qui sera exécuté.
Vous pouvez donc cumuler les blocs catch de manière à effectuer un traitement spécial
pour certaines erreurs. L’extrait de code ci-dessous reprend l’exemple précédent en affichant un message spécial si l’exception levée est une division par zéro et un message plus
générique s’il s’agit d’une autre exception (sait-on jamais).
int a = 10;
int b = 0;
try
{
a /= b;
}
catch (DivideByZeroException e)
{
Window.Title = "Je le savais";
}
catch (Exception e)
{
Window.Title = e.Message;
}
Cette fois-ci, dans l’intitulé de la fenêtre, vous pouvez lire le message personnalisé.
Vous pouvez également ajouter un bloc finally qui sera exécuté, qu’une exception ait été
levée ou non.
int a = 10;
int b = 0;
Tentative de division par zéro.
Je le savais
=Labat FM.book Page 150 Vendredi, 19. juin 2009 4:01 16
