logo

Java blockiert endlich

Java blockiert endlich ist ein Block, der zum Ausführen wichtiger Codes wie dem Schließen der Verbindung usw. verwendet wird.

Der Java-Finally-Block wird immer ausgeführt, unabhängig davon, ob eine Ausnahme behandelt wird oder nicht. Daher enthält es alle notwendigen Anweisungen, die gedruckt werden müssen, unabhängig davon, ob die Ausnahme auftritt oder nicht.

Der „final“-Block folgt auf den „try-catch“-Block.

Flussdiagramm des „finally“-Blocks

Java blockiert endlich

Hinweis: Wenn Sie die Ausnahme nicht behandeln, führt JVM vor dem Beenden des Programms den Final-Block aus (falls vorhanden).

Warum Java endlich blockieren?

  • Der Block „finally“ in Java kann verwendet werden, um „ Aufräumen ' Code wie das Schließen einer Datei, das Schließen einer Verbindung usw.
  • Die wichtigen auszudruckenden Aussagen können im „finally“-Block platziert werden.

Endlich Nutzung von Java

Sehen wir uns die verschiedenen Fälle an, in denen der Java-Endgültigblock verwendet werden kann.

Fall 1: Wenn eine Ausnahme nicht auftritt

Sehen wir uns das folgende Beispiel an, in dem das Java-Programm keine Ausnahme auslöst und der „finally“-Block nach dem „try“-Block ausgeführt wird.

TestFinallyBlock.java

 class TestFinallyBlock { public static void main(String args[]){ try{ //below code do not throw any exception int data=25/5; System.out.println(data); } //catch won't be executed catch(NullPointerException e){ System.out.println(e); } //executed regardless of exception occurred or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of phe code...'); } } 

Ausgabe:

Java blockiert endlich

Fall 2: Wenn eine Ausnahme auftritt, aber nicht vom Catch-Block behandelt wird

Sehen wir uns das Füllbeispiel an. Hier löst der Code eine Ausnahme aus, der Catch-Block kann diese jedoch nicht verarbeiten. Trotzdem wird der „finally“-Block nach dem „try“-Block ausgeführt und das Programm wird dann abnormal beendet.

TestFinallyBlock1.java

 public class TestFinallyBlock1{ public static void main(String args[]){ try { System.out.println('Inside the try block'); //below code throws divide by zero exception int data=25/0; System.out.println(data); } //cannot handle Arithmetic type exception //can only accept Null Pointer type exception catch(NullPointerException e){ System.out.println(e); } //executes regardless of exception occured or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } } 

Ausgabe:

Java blockiert endlich

Fall 3: Wenn eine Ausnahme auftritt und vom Catch-Block behandelt wird

Beispiel:

Sehen wir uns das folgende Beispiel an, in dem der Java-Code eine Ausnahme auslöst und der Catch-Block die Ausnahme behandelt. Später wird der „finally“-Block nach dem „try-catch“-Block ausgeführt. Darüber hinaus wird auch der Rest des Codes normal ausgeführt.

TestFinallyBlock2.java

 public class TestFinallyBlock2{ public static void main(String args[]){ try { System.out.println('Inside try block'); //below code throws divide by zero exception int data=25/0; System.out.println(data); } //handles the Arithmetic Exception / Divide by zero exception catch(ArithmeticException e){ System.out.println('Exception handled'); System.out.println(e); } //executes regardless of exception occured or not finally { System.out.println('finally block is always executed'); } System.out.println('rest of the code...'); } } 

Ausgabe:

Java blockiert endlich

Regel: Für jeden Try-Block kann es null oder mehr Catch-Blöcke geben, aber nur einen Final-Block.

Hinweis: Der „finally“-Block wird nicht ausgeführt, wenn das Programm beendet wird (entweder durch Aufruf von System.exit() oder durch Verursachen eines schwerwiegenden Fehlers, der zum Abbruch des Prozesses führt).