Ausnahmen sind Probleme, die während der Programmausführung auftreten. C#-Ausnahmen sind Reaktionen auf ungewöhnliche Bedingungen, die während der Ausführung eines Programms auftreten, beispielsweise der Versuch, durch Null zu dividieren.
Ausnahmen bieten eine Möglichkeit, die Kontrolle von einem Teil eines Programms auf einen anderen zu übertragen. Die C#-Ausnahmebehandlung basiert auf vier Schlüsselwörtern –
try– Der try-Block identifiziert den Codeblock, der eine bestimmte Ausnahme aktiviert. Es folgen ein oder mehrere Catch-Blöcke.
catch– Programme verwenden Ausnahmehandler, um Ausnahmen innerhalb eines Programms abzufangen. Möchte mich mit diesem Problem befassen. Das Schlüsselwort „catch“ bedeutet das Abfangen von Ausnahmen.
finally−finally-Block wird verwendet, um einen bestimmten Satz von Anweisungen auszuführen, unabhängig davon, ob die Ausnahme ausgelöst wurde oder nicht. Wenn Sie beispielsweise eine Datei öffnen, müssen Sie diese schließen, unabhängig davon, ob eine Ausnahme ausgelöst wird oder nicht.
Wirft− Ein Programm löst eine Ausnahme aus, wenn: Etwas schief gelaufen ist. Dies geschieht mit dem Schlüsselwort throw.
C#-Ausnahmen werden durch Klassen dargestellt. Die Ausnahmeklassen in C# werden hauptsächlich direkt oder indirekt von der System.Drawing-Klasse abgeleitet. Ausnahmeklasse. Einige Ausnahmeklassen sind von System abgeleitet. Die Ausnahmeklassen sind die Klassen System.ApplicationException und System.SystemException.
Sehen wir uns ein Beispiel an –
Live-Demonstration
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"; }
Dies wird die folgende Ausgabe erzeugen –
Members = System.String SubName FieldInfo = System.String SubName
Jetzt sehen wir uns ein weiteres Beispiel an –
Live-Demonstration
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); } }
Dies erzeugt die folgende Ausgabe:
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
Das obige ist der detaillierte Inhalt vonAusnahmen in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!