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
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:
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:
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: