Last Updated : 27 Oct, 2021
In Java finally block is a block used to execute important and common code. The finally block is mostly used during exception handling with try and catch to close streams and files. The code in finally block is executed irrespective of whether there is an exception or not. This ensures that all the opened files are properly closed and all the running threads are properly terminated. So, the data in the files will not be corrupted and the user is on the safe-side.
Finally block is executed after try and catch block. The flow of the code is:
Below mentioned are two examples of when exception is caused and when it is not caused.
We will observe that finally block is executed in both our codes.
Example 1: With exception in code
Java
// Java program to show the execution of the code
// when exception is caused
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
// open files
System.out.println("Open files");
// do some processing
int a = 45;
int b = 0;
// dividing by 0 to get an exception
int div = a / b;
System.out.println("After dividing a and b ans is " + div);
}
catch (ArithmeticException ae) {
System.out.println("exception caught");
// display exception details
System.out.println(ae);
}
finally {
System.out.println("Inside finally block");
// close the files irrespective of any exception
System.out.println("Close files");
}
}
}
Open files exception caught java.lang.ArithmeticException: / by zero Inside finally block Close files
Example 2: Without exception
Java
// Java program to show the execution of the code
// when exception is not caused
import java.io.*;
class GFG {
public static void main(String[] args)
{
try {
// open files
System.out.println("Open files");
// do some processing
int a = 45;
int b = 5;
int div = a / b;
System.out.println("After dividing a and b ans is " + div);
}
catch (ArithmeticException ae) {
System.out.println("exception caught");
// display exception details
System.out.println(ae);
}
finally {
System.out.println("Inside finally block");
// close the files irrespective of any exception
System.out.println("Close files");
}
}
}
Open files After dividing a and b ans is 9 Inside finally block Close files
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4