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);
}