Question: What are Checked Exceptions? Give an example.


In Java, Checked Exceptions are exceptions that are checked at compile time by the Java compiler. This means that the compiler enforces the handling of these exceptions, either by using a try-catch block or by declaring them in the method signature using the throws keyword.

Characteristics of Checked Exceptions:

  1. Checked at Compile Time: Checked Exceptions are verified by the compiler during the compilation process.
  2. Must be Handled: Code that may throw Checked Exceptions must be enclosed within a try-catch block or declared to be thrown using the throws keyword.
  3. Subclass of Exception: Checked Exceptions are subclasses of the Exception class but not subclasses of RuntimeException.

Example of Checked Exception:

Consider the FileNotFoundException, which occurs when attempting to access a file that does not exist:


public class Main {
    public static void main(String[] args) {
        try {
            FileReader fileReader = new FileReader("file.txt"); // Attempt to open a file
        } catch (FileNotFoundException e) { // Handling FileNotFoundException
            System.out.println("File not found: " + e.getMessage());


  • In this example, the FileReader constructor may throw a FileNotFoundException if the specified file does not exist.
  • To handle this checked exception, we enclose the FileReader instantiation within a try-catch block.
  • If a FileNotFoundException occurs, the catch block executes, and an appropriate message is printed.

Benefits of Checked Exceptions:

  1. Forces Error Handling: Checked Exceptions ensure that developers handle potential error conditions, leading to more robust and reliable code.
  2. Enhances Code Readability: By explicitly specifying the exceptions that a method may throw, Checked Exceptions improve code documentation and readability.
  3. Encourages Defensive Programming: Developers are prompted to anticipate and handle exceptional scenarios, resulting in code that gracefully handles error conditions.


Checked Exceptions in Java provide a mechanism for handling exceptional conditions that may occur during program execution. By enforcing error handling at compile time, Checked Exceptions promote code reliability, maintainability, and robustness.

Leave a Comment