Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Les fonctionnalités de gestion des exceptions du langage C# vous aident à gérer les situations inattendues ou exceptionnelles qui se produisent lorsqu’un programme est en cours d’exécution. La gestion des exceptions utilise les mots clés try
, catch
et finally
pour tenter des actions susceptibles de ne pas réussir, pour gérer les défaillances lorsque vous pensez que c’est justifié et pour nettoyer ensuite les ressources. Les exceptions peuvent être générées par le common language runtime (CLR), par .NET ou des bibliothèques tierces, ou par le code de l’application. Les exceptions sont créées avec le mot clé throw
.
Dans de nombreux cas, une exception peut être levée non pas par une méthode appelée directement par votre code, mais par une autre méthode plus loin dans la pile des appels. Quand une exception est levée, le CLR déroule la pile à la recherche d’une méthode avec un bloc catch
pour le type d’exception spécifique et exécute le premier bloc catch
de ce type qu’il trouve. S’il ne trouve pas de bloc catch
dans la pile des appels, il termine le processus et affiche un message à l’utilisateur.
Dans cet exemple, une méthode teste la division par zéro et intercepte l’erreur. Sans la gestion des exceptions, ce programme se terminerait avec une erreur DivideByZeroException non gérée.
public class ExceptionTest
{
static double SafeDivision(double x, double y)
{
if (y == 0)
throw new DivideByZeroException();
return x / y;
}
public static void Main()
{
// Input for test purposes. Change the values to see
// exception handling behavior.
double a = 98, b = 0;
double result;
try
{
result = SafeDivision(a, b);
Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
}
catch (DivideByZeroException)
{
Console.WriteLine("Attempted divide by zero.");
}
}
}
Les exceptions ont les propriétés suivantes :
System.Exception
.try
autour des instructions qui peuvent lever des exceptions.try
, le flux de contrôle passe immédiatement au premier gestionnaire d’exceptions associé présent dans la pile des appels. En C#, le mot clé catch
est utilisé pour définir un gestionnaire d’exceptions.System.Exception
, levez-la de nouveau avec le mot clé throw
à la fin du bloc catch
.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.throw
.finally
est exécuté même si une exception est levée. Utilisez un bloc finally
pour libérer des ressources, par exemple pour fermer tous les flux ou fichiers qui ont été ouverts dans le bloc try
.Pour plus d’informations, consultez Exceptions dans la Spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.
Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantFormation
Module
Implémenter la gestion des exceptions dans les applications console C# - Training
Ce module explore l’utilisation des exceptions et le processus de gestion des exceptions dans les applications console C#. Les activités pratiques permettent d’implémenter des modèles de gestion des exceptions pour différents scénarios de codage.