Maison  >  Article  >  développement back-end  >  Comment utiliser les filtres d'exception et la gestion des exceptions en C#

Comment utiliser les filtres d'exception et la gestion des exceptions en C#

WBOY
WBOYoriginal
2023-10-08 09:01:011105parcourir

Comment utiliser les filtres dexception et la gestion des exceptions en C#

Comment utiliser les filtres d'exception et la gestion des exceptions en C# nécessite des exemples de code spécifiques

Les exceptions sont des erreurs ou des situations inattendues qui se produisent pendant l'exécution du programme. En C#, les exceptions sont gérées par lancer et attraper. La gestion des exceptions est un élément clé pour garantir le fonctionnement normal du programme.

En C#, les filtres d'exceptions et la gestion des exceptions sont deux méthodes courantes de gestion des exceptions. Les filtres d'exceptions nous permettent de filtrer et de gérer les exceptions avant de les détecter. Il utilise le mot-clé when pour spécifier les conditions du filtre d'exception. Voici un exemple :

try
{
    // 可能抛出异常的代码块
    int a = 10;
    int b = 0;
    int result = a / b;
}
catch (Exception ex) when (ex is DivideByZeroException)
{
    // 异常过滤器,仅处理除零异常
    Console.WriteLine("除零异常:" + ex.Message);
}
catch (Exception ex)
{
    // 其他类型的异常
    Console.WriteLine("其他异常:" + ex.Message);
}

Dans l'exemple ci-dessus, nous utilisons un filtre d'exception pour intercepter et gérer l'exception de division par zéro. Si l'exception levée est de type DivideByZeroException, le code du premier bloc catch sera exécuté. S'il s'agit d'une exception à d'autres types, le code du deuxième bloc catch sera exécuté.

Il convient de noter que le filtre d'exception doit être une expression booléenne qui renvoie vrai ou faux. Si true est renvoyé, cela signifie que l'exception répond aux conditions de filtre et sera interceptée et traitée. Si false est renvoyé, l’exception continuera à être générée dans la pile d’appels supérieure.

Une autre méthode courante de gestion des exceptions consiste à utiliser des blocs final. Le code du bloc final sera exécuté, qu'une exception se produise ou non. Voici un exemple :

FileStream file = null;
try
{
    file = new FileStream("file.txt", FileMode.Open);
    // 文件操作
}
catch (FileNotFoundException ex)
{
    Console.WriteLine("文件未找到:" + ex.Message);
}
finally
{
    // 无论是否出现异常,都会关闭文件流
    file?.Close();
}

Dans l'exemple ci-dessus, nous avons ouvert un flux de fichiers dans un bloc try, puis effectué des opérations sur les fichiers. Si une FileNotFoundException se produit, le code du bloc catch sera exécuté. Si aucune exception ne se produit, le code du bloc final sera exécuté pour fermer le flux de fichiers.

La gestion des exceptions nous permet de gérer et de récupérer de manière appropriée lorsqu'une erreur se produit dans le programme. Les filtres d’exceptions et la gestion des exceptions sont deux méthodes couramment utilisées pour gérer les exceptions en C#. Utilisez ces techniques pour améliorer la robustesse et la stabilité de votre programme.

J'espère que les exemples de code ci-dessus pourront vous aider à comprendre comment utiliser les filtres d'exception et la gestion des exceptions en C#. Dans le processus de codage réel, vous pouvez choisir la méthode de gestion des exceptions appropriée pour gérer les exceptions en fonction de besoins et de situations spécifiques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn