Heim  >  Artikel  >  Backend-Entwicklung  >  Ausnahmen in C#

Ausnahmen in C#

WBOY
WBOYnach vorne
2023-08-31 13:45:06603Durchsuche

C# 中的异常

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.

Beispiel

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";
}

Ausgabe

Dies wird die folgende Ausgabe erzeugen –

Members = System.String SubName
FieldInfo = System.String SubName

Beispiel

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);
   }
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen