Les exceptions
Les exceptions sont des erreurs qui surviennent lors de l'exécution d'un programme.
Quand on ne souhaite pas traiter une exception, on peut la laisser remonter jusqu'à la méthode appelante.
On utilise pour ca le mot clé throw.
Instruction throw
Pour lancer une exception on utilise le mot clé throw de cette manière.
throw new Exception("Erreur");
On notera l'utilisation de la classe Exception qui prend en paramètre un message d'erreur.
Instruction try-catch
Pour empecher une exception de remonter jusqu'à la méthode appelante, on utilise le bloc try-catch.
De cette manière on peut traiter l'exception et éviter que le programme ne s'arrête.
try
{
throw new Exception("Erreur");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
Différents types d'exceptions
Il existe plusieurs types d'exceptions.
Chaque type d'exception hérite de la classe Exception.
On peux créer nos propres exceptions en héritant de la classe Exception.
class MaPropreException : Exception
{
public MaPropreException(string message) : base(message) { }
}
Traiter plusieurs exceptions
On peut les traiter de manière spécifique.
Ici on traite l'exception MaPropreException avant l'exception générique Exception.
Si l'exception envoyé par codeQuiPeutLancerUneException est de type MaPropreException alors le premier bloc catch sera exécuté.
Sinon le deuxième bloc catch sera exécuté.
try
{
codeQuiPeutLancerUneException();
}
catch (MaPropreException e)
{
Console.WriteLine($"Erreur spécifique : ${e.Message}");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}