Java Program to Handle Checked Exception
Last Updated :
04 May, 2023
Checked exceptions are the subclass of the Exception class. These types of exceptions need to be handled during the compile time of the program. These exceptions can be handled by the try-catch block or by using throws keyword otherwise the program will give a compilation error.
ClassNotFoundException, IOException, SQLException etc are the examples of the checked exceptions.
I/O Exception: This Program throws an I/O exception because of due FileNotFoundException is a checked exception in Java. Anytime, we want to read a file from the file system, Java forces us to handle error situations where the file is not present in the given location.
Implementation: Consider GFG.txt file does not exist.
Example 1-A:
Java
import java.io.*;
class GFG {
public static void main(String args[]) {
FileInputStream GFG
= new FileInputStream( "/Desktop/GFG.txt" );
}
}
|
Output:
Now let us do discuss how to handle FileNotFoundException. The answer is quite simple as we can handle it with the help of a try-catch block
- Declare the function using the throw keyword to avoid a Compilation error.
- All the exceptions throw objects when they occur try statement allows you to define a block of code to be tested for errors and catch block captures the given exception object and perform required operations.
- Using a try-catch block defined output will be shown.
Example 1-B:
Java
import java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
throws FileNotFoundException
{
FileInputStream GFG = null ;
try {
GFG = new FileInputStream(
"/home/mayur/GFG.txt" );
}
catch (FileNotFoundException e) {
System.out.println( "File does not exist" );
}
}
}
|
Output
File does not exist
Now let us discuss one more checked exception which is ClassNotFoundException. This Exception occurs when methods like Class.forName() and LoadClass Method etc. are unable to find the given class name as a parameter.
Example 2-A
Java
import java.io.*;
class GFG {
public static void main(String[] args)
{
Class temp = Class.forName( "gfg" );
}
}
|
Output:
Again now let us handle ClassNotFoundException using the try-Catch block.
Example 2-B
Java
import java.io.*;
class GFG {
public static void main(String[] args)
throws ClassNotFoundException
{
try {
Class temp = Class.forName(
"gfg" );
}
catch (ClassNotFoundException e) {
System.out.println(
"Class does not exist check the name of the class" );
}
}
}
|
Output
Class does not exist check the name of the class
SQLException – The SQLException is a checked exception that we need to handle explicitly.
- The SQL exception mainly occurs during the connection of the database from Java program.
In this example, we are trying to connect the PostgreSQL database from the Java program, here everything is syntactically correct but we haven’t said to the compiler that the main method will be going to throw a SQLException. Because of this, it will give us a compile time error as shown in the below output image.
Example 3-A
Java
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class sql_excep {
public static void main(String[] args)
{
Connection con
= getConnection( "javaDb" , "postgres" , "abrar" );
}
public static Connection
getConnection(String dbname, String user, String pass)
throws SQLException
{
Connection con_obj = null ;
con_obj = DriverManager.getConnection(url + dbname,
user, pass);
if (con_obj != null ) {
System.out.println(
"Connection established successfully !" );
}
else {
System.out.println( "Connection failed !!" );
}
return con_obj;
}
}
|
Output:
We can handle this in two ways.
- Using throws keyword at main method signature.
- Using try/catch block.
Example 3-B: throws
Java
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class sql_excep {
public static void main(String[] args) throws SQLException
{
Connection con=getConnection( "javaDb" , "postgres" , "abrar" );
}
public static Connection getConnection(String dbname,String user,String pass) throws SQLException
{
Connection con_obj= null ;
con_obj= DriverManager.getConnection(url+dbname,user,pass);
if (con_obj!= null )
{
System.out.println( "Connection established successfully !" );
}
else
{
System.out.println( "Connection failed !!" );
}
return con_obj;
}
}
|
Output:
Example 3-C: try/catch
Java
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class sql_excep {
public static void main(String[] args)
{
Connection con=getConnection( "javaDb" , "postgres" , "abrar" );
}
public static Connection getConnection(String dbname,String user,String pass)
{
Connection con_obj = null ;
try {
con_obj= DriverManager.getConnection(url+dbname,user,pass);
if (con_obj!= null )
{
System.out.println( "Connection established successfully !" );
}
else
{
System.out.println( "Connection failed !!" );
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
return con_obj;
}
}
|
Output:
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...