Heim  >  Artikel  >  Backend-Entwicklung  >  C# endlich

C# endlich

WBOY
WBOYOriginal
2024-09-03 15:22:12689Durchsuche

Ein Fehler kann durch eine Ausnahme verursacht werden, die die aktuell in der Programmierung ausgeführte Methode beendet, und diese Methode hätte eine Datei oder ein Netzwerk geöffnet, die mit der Beendigung der aktuellen Methode geschlossen werden müsste. Um solche Probleme zu überwinden, haben wir in C# ein spezielles reserviertes Schlüsselwort namens „Finally“ und dieser „Finally“-Codeblock wird ausgeführt, wenn die Ausführung des Try- und Catch-Blocks stoppt, unabhängig davon, welche Bedingungen den Stopp der Ausführung verursachen und dies nicht der Fall ist Dabei spielt es keine Rolle, ob die Ausführung des Try-Blocks normal stoppt oder aufgrund einer Ausnahme stoppt. Der Final-Codeblock wird ausgeführt und die Freigabe der beanspruchten Ressourcen ist das Hauptziel des Final-Codeblocks. Er wird nach dem Try- und Catch-Codeblock geschrieben .

Syntax:

try
{
//Block of code
}
// this can be optional
catch
{
//Block of code
}
finally
{
//Block of code
}

Arbeiten des Schlüsselworts „finally“ in C#

  • Alle im Try-Block zugewiesenen Ressourcen können mithilfe des Codeblocks „Finally“ bereinigt werden. Der Codeblock „Finally“ wird unabhängig von der im Try-Block ausgelösten Ausnahme ausgeführt.
  • Die Anweisungen im Final-Codeblock werden ausgeführt, wenn das Steuerelement den Try-Codeblock verlässt. Die Steuerung wird im Rahmen der normalen Ausführung oder der Ausführung einer goto-Anweisung, einer break-Anweisung, einer continue-Anweisung oder einer return-Anweisung übertragen.
  • Wenn es eine Ausnahmebehandlung gibt, wird der damit verbundene „finally“-Codeblock mit Sicherheit ausgeführt, und wenn es keine Ausnahmebehandlung gibt, hängt die Ausführung des „finally“-Codeblocks von der Auslösung des Ausnahmeabwicklungsvorgangs ab, der wiederum davon abhängt Einrichtung des Computers.
  • Es darf nicht mehr als einen Final-Codeblock im selben Programm in C# geben.
  • Das Steuerelement verlässt den „finally“-Block nicht, da es im „finally“-Block keine goto-Anweisung, break-Anweisung, continue-Anweisung oder return-Anweisung gibt.

Beispiele zur endgültigen Implementierung von C#

Unten sind die Beispiele für C#. Zum Schluss:

Beispiel #1

C#-Programm zur Demonstration der Verwendung des Final-Codeblocks in einem Programm.

Code:

using System;
//a class called program is defined
class program
{
// a method called ClassA() is defined
static void ClassA()
{
try
{
Console.WriteLine("We are inside class A");
//An exception is thrown
throw new Exception("An exception is thrown");
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of Class A");
}
}
// a method called ClassB() is defined
static void ClassB()
{
try
{
Console.WriteLine("We are Inside class B");
return;
}
//finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("This is the finally block of class B");
}
}
// Main Method is called
public static void Main(String[] args)
{
try
{
ClassA();
}
catch (Exception)
{
Console.WriteLine("The exception that is thrown is caught");
}
ClassB();
}
}

Ausgabe:

C# endlich

Erklärung: Im obigen Programm ist das Programm die definierte Klasse. Dann wird eine Methode namens ClassA definiert, in der try- und final-Codeblöcke geschrieben werden. Der try-Block löst eine Ausnahme aus, die später abgefangen wird. Dann wird der Block „Endlich“ ausgeführt, unabhängig davon, ob die Ausnahme behandelt wird oder nicht. Dann wird eine Methode namens ClassB definiert. Dann wird der final-Block ausgeführt, unabhängig davon, ob die Ausnahme behandelt wird oder nicht. Dann wird die Hauptmethode aufgerufen.

Beispiel #2

C#-Programm zur Demonstration der Verwendung des Schlüsselworts „final“ in einem Programm mit Ausnahmebehandlung.

Code:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
catch (DivideByZeroException)
{
Console.WriteLine("The divisor can not be zero because it is impossible to divide by 0");
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

Ausgabe:

C# endlich

Erklärung: Im obigen Programm ist eine Klasse namens Programm definiert. Dann wird die Hauptmethode aufgerufen. Dann werden zwei Ganzzahlvariablen definiert, um zwei Ganzzahlen zu speichern. Dann wird ein Try- und Catch-Block definiert, in dem eine Ausnahme vom Try-Block ausgelöst und vom Catch-Block behandelt wird. Dann wird schließlich der Block ausgeführt, unabhängig davon, ob die Ausnahme behandelt wird oder nicht.

Beispiel #3

C#-Programm zur Demonstration der Verwendung des Schlüsselworts „final“ in einem Programm, das keine Ausnahmebehandlung hat.

Code:

using System;
//a class called program is defined
public class program
{
// Main Method is called
static public void Main()
{
// two integer variables are defined to store two integers
intnum = 10;
int div = 0;
//try and catch block is defined in which an exception is raised by try block and is handled by catch block
try
{
int op = num / div;
}
// finally block is executed regardless of the exception is handled or not
finally
{
Console.WriteLine("We are in the finally block");
}
}
}

Ausgabe:

C# endlich

Erklärung: Im obigen Programm ist eine Klasse namens Programm definiert. Dann wird die Hauptmethode aufgerufen. Dann werden zwei Ganzzahlvariablen definiert, um zwei Ganzzahlen zu speichern. Dann wird der Try-Block definiert. Anschließend wird der endgültige Block ausgeführt, unabhängig davon, ob die Ausnahme behandelt wird oder nicht. Die Ausgabe des Programms ist im Schnappschuss oben dargestellt.

Vorteile

  1. Schließlich wird der Codeblock ausgeführt, unabhängig davon, was innerhalb des Try-Blocks passiert, z. B. ob eine Ausnahme ausgelöst wird oder nicht. Wenn eine Return-Anweisung vorhanden ist, spielt das keine Rolle.
  2. Der Hauptzweck des „finally“-Codeblocks besteht darin, alle zugewiesenen teuren Ressourcen im try-Block freizugeben.
  3. Schließlich stellt der Block sicher, dass ein Vorgang unabhängig von ausgelösten Ausnahmen ausgeführt wird.

Fazit: In diesem Tutorial verstehen wir das Konzept des Schlüsselworts „finally“ in C# durch Definition, Syntax, Durcharbeiten von Programmierbeispielen und deren Ausgaben.

Empfohlener Artikel

Dies ist endlich eine Anleitung zu C#. Hier diskutieren wir abschließend die Einführung in C# und seine Vorteile zusammen mit seinen Beispielen und der Code-Implementierung. Sie können auch unsere anderen empfohlenen Artikel durchsehen, um mehr zu erfahren –

  1. Was ist ein Zufallszahlengenerator in C#?
  2. Statischer Konstruktor in Java | Arbeiten | Anwendungen
  3. TextWriter in C# | Beispiele
  4. Wie funktioniert der statische Konstruktor in C#?

Das obige ist der detaillierte Inhalt vonC# endlich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-Nullable-StringNächster Artikel:C#-Nullable-String