Zuhause Entwicklung Was ist ein finaler Block in c? - Definition aus techopedia

Was ist ein finaler Block in c? - Definition aus techopedia

Inhaltsverzeichnis:

Anonim

Definition - Was bedeutet "Endlich blockieren"?

Ein finally-Block im Kontext von C # bezieht sich auf einen Anweisungsblock, der unabhängig von unerwarteten Ereignissen oder Ausnahmen, die während der Ausführung einer Anwendung auftreten können, immer ausgeführt wird. Es wird optional mit dem "try / catch" -Block verwendet und garantiert die Ausführung von Code, der vor dem Verlassen des "try" -Blocks ausgeführt werden muss, unabhängig davon, ob die Ausführung der Anwendung erfolgreich war oder fehlgeschlagen ist.


Die Ausführung eines finally-Blocks soll Ressourcen wie Datenbankverbindungen freigeben, die normalerweise in begrenzten Mengen verfügbar sind. Durch diesen Mechanismus erfolgt die Ressourcenentsorgung früher als die Abschlussoperation des Garbage Collectors, wodurch der Speicher optimiert wird.

Techopedia erklärt schließlich Block

Der Code im finally-Block kann verwendet werden, um Ausnahmen zu behandeln, sobald sie auftreten, den im try-Block zugewiesenen Speicher zu bereinigen oder Objekte zu entsorgen, die externe Ressourcen enthalten (z. B. Dateihandles), die im try-Block verwendet werden. Ein finally-Block erleichtert auch die Ausführung von Verwaltungsaufgaben wie das Zurücksetzen eines Cursors in einen normalen Zustand vor dem Zeitpunkt einer Ausnahme.


Im Allgemeinen wird der Code innerhalb eines finally-Blocks ausgeführt, wenn die Steuerung einen try-Block als Ergebnis einer normalen Ausführung verlässt, als Ergebnis der Ausführung einer "break" -, "goto" -, "continue" - oder "return" -Anweisung oder fällig zu einer Ausnahme aus der try-Anweisung.


Wenn im try-Block eine Ausnahme auftritt, wird die Steuerung von der Zeile, die die Ausnahme verursacht hat, zum nächsten catch-Block (Ausnahmebehandlungsroutine) und dann zum finally-Block weitergeleitet. Wenn eine Ausnahme in einem catch-Block erneut ausgelöst wird, wird die Steuerung auch an den finally-Block übergeben. Daher wird Code, der der Zeile folgt, in der die Ausnahme aufgetreten ist, übersprungen.


Ausnahmen sollten nicht explizit in einen finally-Block geworfen werden. Wenn während der Ausführung eines finally-Blocks eine Ausnahme auftritt, wird jeglicher Code nach dem Punkt, an dem die Ausnahme ausgelöst wird, nicht ausgeführt, und die Ausnahme wird an den äußeren einschließenden try-Block weitergegeben. Wenn der finally-Block bereits eine andere Ausnahme behandelt, wird die Verarbeitung der aktuellen Ausnahme abgebrochen.


Es sollte darauf geachtet werden, die Ausführung nicht explizit in einen oder aus einem finally-Block zu übertragen, da dies keine gültige Übertragung ist.

Diese Definition wurde im Kontext von C # geschrieben.
Was ist ein finaler Block in c? - Definition aus techopedia