Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 21123|Antwort: 0

[Quelle] Ausnahmen und Exception Handling (C# Programming Guide)

[Link kopieren]
Veröffentlicht am 12.04.2015 22:22:03 | | |

Die Exception-Handling-Funktion der C#-Sprache hilft Ihnen, unerwartete oder ungewöhnliche Situationen zu bewältigen, die während des Laufens Ihres Programms auftreten. Exception Handling verwendet die Schlüsselwörter try, catch und ending, um bestimmte Operationen zu versuchen und Fehler zu bewältigen, und obwohl diese Operationen das Potenzial haben zu scheitern, kannst du es versuchen, wenn du sicher bist, dass du das tun musst und Ressourcen später bereinigen möchtest. Common Language Runtime (CLR), . NET Framework oder jede Drittanbieter-Bibliothek oder Anwendungscode können Ausnahmen erzeugen. Ausnahmen werden mit dem Wurf-Schlüsselwort erstellt.
In vielen Fällen werden Ausnahmen nicht von einer direkt vom Code aufgerufenen Methode ausgelöst, sondern von einer anderen Methode weiter unten im Aufrufstapel. In diesem Fall erweitert die CLR den Stack, um zu prüfen, ob es eine Methode gibt, die einen Catch-Block für diesen speziellen Ausnahmetyp enthält, und wenn sie eine solche Methode findet, führt sie den ersten solchen Catch-Block aus. Wenn kein geeigneter Catch-Block irgendwo im Aufrufstack gefunden wird, wird der Prozess beendet und dem Benutzer wird eine Nachricht angezeigt.
In diesem Beispiel wird eine Methode verwendet, um zu erkennen, ob es eine Situation gibt, in der es durch null geteilt wird; Falls ja, wird der Fehler erkannt. Wenn keine Ausnahmebehandlung erfolgt, endet dieses Programm und erzeugt einen Fehler "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 kopieren






Vorhergehend:C# bestimmt, ob eine Zeichenkette ein Zeichen enthält
Nächster:Bestimmen Sie, ob eine Website vom Discuz-Forenprogramm erstellt wurde
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com