Les exceptions sont des problèmes qui surviennent lors de l'exécution du programme. Les exceptions C# sont des réponses à des conditions inhabituelles qui se produisent lors de l'exécution d'un programme, comme une tentative de division par zéro.
Les exceptions permettent de transférer le contrôle d'une partie d'un programme à une autre. La gestion des exceptions C# est basée sur quatre mots-clés -
try - Le bloc try identifie le bloc de code qui active une exception spécifique. Il est suivi d'un ou plusieurs blocs catch.
catch - Les programmes utilisent des gestionnaires d'exceptions pour intercepter les exceptions au sein d'un programme. Vous voulez régler ce problème. Le mot-clé catch signifie intercepter les exceptions.
finally −finally le bloc est utilisé pour exécuter un ensemble donné d'instructions, que l'exception ait été levée ou non. Par exemple, si vous ouvrez un fichier, vous devez le fermer, qu'une exception soit levée ou non.
Lance − Un programme lève une exception lorsque : Quelque chose s'est mal passé. Cela se fait en utilisant le mot-clé throw.
Les exceptions C# sont représentées par des classes. Les classes d'exceptions en C# sont principalement dérivées directement ou indirectement de la classe System.Drawing. Classe d'exceptions. Certaines classes d'exceptions sont dérivées de System. Les classes d'exceptions sont les classes System.ApplicationException et System.SystemException.
Voyons un exemple-
Démonstration en direct
using System; using System.Reflection; public class Demo { public static void Main(){ Type type = typeof(Subject); try { FieldInfo fieldInfo = type.GetField("SubName"); MemberInfo[] info = type.GetMember("SubName"); Console.Write("Members = "); for (int i = 0; i < info.Length; i++) Console.WriteLine(" {0}", info[i]); Console.WriteLine("FieldInfo = {0}", fieldInfo); } catch (ArgumentNullException e){ Console.Write("{0}", e.GetType(), e.Message); } } } public class Subject{ public string SubName = "Science"; }
Cela produira la sortie suivante-
Members = System.String SubName FieldInfo = System.String SubName
Voyons maintenant un autre exemple-
Démonstration en direct
using System; public class Demo { int result; Demo() { result = 0; } public void division(int num1, int num2) { try { result = num1 / num2; } catch (DivideByZeroException e) { Console.WriteLine("Exception caught = {0}", e); } finally { Console.WriteLine("Result = {0}", result); } } public static void Main(string[] args) { Demo d = new Demo(); d.division(100, 0); } }
Ceci produira le résultat suivant -
Exception caught = System.DivideByZeroException: Attempted to divide by zero. at Demo.division(Int32 num1, Int32 num2) in d:\Windows\Temp0kebv45.0.cs:line 11 Result = 0
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!