Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 21123|Répondre: 0

[Source] Exceptions et gestion des exceptions (Guide de programmation C#)

[Copié le lien]
Publié sur 12/04/2015 22:22:03 | | |

La fonction de gestion des exceptions du langage C# vous aide à gérer toute situation inattendue ou inhabituelle survenant pendant l’exécution de votre programme. La gestion des exceptions utilise les mots-clés try, catch et finally pour essayer certaines opérations afin de gérer les échecs, et bien que ces opérations puissent échouer, vous pouvez essayer si vous êtes sûr de devoir le faire et souhaitez nettoyer les ressources ensuite. Common Language Runtime (CLR), . NET Framework ou tout code de bibliothèque ou application tierce peut générer des exceptions. Les exceptions sont créées en utilisant le mot-clé throw.
Dans de nombreux cas, les exceptions ne peuvent pas être soulevées par une méthode appelée directement par le code, mais par une autre méthode plus bas dans la pile d’appels. Dans ce cas, le CLR développe la pile pour voir s’il existe une méthode contenant un bloc de capture pour ce type d’exception particulier, et s’il trouve une telle méthode, il exécute le premier bloc de capture trouvé. Si aucun bloc de capture approprié n’est trouvé nulle part dans la pile d’appels, le processus est terminé et un message est affiché à l’utilisateur.
Dans cet exemple, une méthode est utilisée pour détecter s’il existe une situation où elle est divisée par zéro ; S’il y en a une, l’erreur est détectée. S’il n’y a pas de gestion des exceptions, ce programme se terminera et produira une erreur « DivideByZeroException Not Handled ».
  1. class ExceptionTest
  2. {
  3.     static double SafeDivision(double x, double y)
  4.     {
  5.         if (y == 0)
  6.             throw new System.DivideByZeroException();
  7.         return x / y;
  8.     }
  9.     static void Main()
  10.     {
  11.         // Input for test purposes. Change the values to see
  12.         // exception handling behavior.
  13.         double a = 98, b = 0;
  14.         double result = 0;

  15.         try
  16.         {
  17.             result = SafeDivision(a, b);
  18.             Console.WriteLine("{0} divided by {1} = {2}", a, b, result);
  19.         }
  20.         catch (DivideByZeroException e)
  21.         {
  22.             Console.WriteLine("Attempted divide by zero.");
  23.         }
  24.     }
  25. }
Code de copie






Précédent:C# détermine si une chaîne contient un caractère
Prochain:Déterminez si un site web est créé par le programme du forum Discuz
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com