Java finally block
Java finally block is a block that is used to execute important code such as closing connection, stream etc.
Java finally block is always executed whether exception is handled or not.
Java finally block must be followed by try or catch block.
Note: If you don't handle exception, before terminating the program, JVM executes finally block(if any).
Why use java finally
- Finally block in java can be used to put "cleanup" code such as closing a file, closing connection etc.
Usage of Java finally
Let's see the different cases where java finally block can be used.
Case 1
Let's see the java finally example where exception doesn't occur.
class TestFinallyBlock{
public static void main(String args[]){
try{
int data=25/5;
System.out.println(data);
}
catch(NullPointerException e){System.out.println(e);}
finally{System.out.println("finally block is always executed");}
System.out.println("rest of the code...");
}
}
Output:5finally block is always executedrest of the code...
Case 2
Let's see the java finally example where exception occurs and not handled.class TestFinallyBlock1{public static void main(String args[]){try{int data=25/0;System.out.println(data);}catch(NullPointerException e){System.out.println(e);}finally{System.out.println("finally block is always executed");}System.out.println("rest of the code...");}}
Output:finally block is always executedException in thread main java.lang.ArithmeticException:/ by zeroCase 3
Let's see the java finally example where exception occurs and handled.public class TestFinallyBlock2{public static void main(String args[]){try{int data=25/0;System.out.println(data);}catch(ArithmeticException e){System.out.println(e);}finally{System.out.println("finally block is always executed");}System.out.println("rest of the code...");}}
Output:Exception in thread main java.lang.ArithmeticException:/ by zerofinally block is always executedrest of the code...Rule: For each try block there can be zero or more catch blocks, but only one finally block.
Note: The finally block will not be executed if program exits(either by calling System.exit() or by causing a fatal error that causes the process to abort).
No comments:
Post a Comment