Cette documentation est archivée et n’est pas conservée.

Exceptions et gestion des exceptions (guide de programmation C#)

Les fonctionnalités de gestion des exceptions du langage C# permettent de gérer les situations inattendues ou exceptionnelles qui surviennent pendant l'exécution d'un programme. La gestion des exceptions utilise les mots clés try, catch et finally pour tenter des actions qui peuvent ne pas réussir, pour gérer les défaillances et nettoyer les ressources après. Les exceptions peuvent être générées par le common language runtime (CLR), par des bibliothèques tiers ou par le code d'application à l'aide du mot clé throw.

Dans cet exemple, une méthode teste une division par zéro et intercepte l'erreur. Sans la gestion des exceptions, ce programme se terminerait sur une erreur L'exception DivideByZeroException n'a pas été gérée.

int SafeDivision(int x, int y)
{
    try
    {
        return (x / y);
    }
    catch (System.DivideByZeroException dbz)
    {
        System.Console.WriteLine("Division by zero attempted!");
        return 0;
    }
}

Les exceptions ont les propriétés suivantes :

  • Lorsque votre application rencontre une circonstance exceptionnelle, comme une division par zéro ou un avertissement de mémoire insuffisante, une exception est générée.

  • Délimitez toute instruction susceptible de lever des exceptions par un bloc try.

  • Lorsqu'une exception se produit au sein d'un bloc try, le flux de contrôle est immédiatement transmis à un gestionnaire d'exceptions associé, s'il en existe un.

  • Si aucun gestionnaire d'exceptions pour une exception donnée n'est présent, le programme cesse de s'exécuter avec un message d'erreur.

  • Si un bloc catch définit une variable d'exception, vous pouvez l'utiliser pour obtenir plus d'informations sur le type d'exception qui s'est produit.

  • Les actions qui peuvent donner une exception sont exécutées avec le mot clé try.

  • Un gestionnaire d'exceptions est un bloc de code qui est exécuté lorsqu'une exception se produit. En C#, le mot clé catch est utilisé pour définir un gestionnaire d'exceptions.

  • Les exceptions peuvent être générées explicitement par un programme à l'aide du mot clé throw.

  • Les objets Exception contiennent des informations détaillées à propos de l'erreur, y compris l'état de la pile des appels et une description du texte de l'erreur.

  • Le code dans un bloc finally est exécuté même si une exception est levée, permettant ainsi à un programme de libérer des ressources.

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 8.9.5 L'instruction throw

  • 8.10 L'instruction try

  • 16 Exceptions

Afficher: