Java Programming Try Catch Throw Throws Finally Complete Guide

 Last Update:2025-06-22T00:00:00     .NET School AI Teacher - SELECT ANY TEXT TO EXPLANATION.    7 mins read      Difficulty-Level: beginner

Understanding the Core Concepts of Java Programming try, catch, throw, throws, finally

Java Programming: try, catch, throw, throws, finally

1. try

  • Purpose: The try block is used to enclose the code that might throw an exception.
  • Usage: Always paired with catch or finally.
  • Example:
    try {
        int result = 10 / 0; // This will throw an ArithmeticException
    }
    

2. catch

  • Purpose: The catch block is used to handle the exception that is thrown from the try block.
  • Usage: Must be preceeded by a try block. Code inside catch is executed only if an exception occurs.
  • Example:
    try {
        int result = 10 / 0;
    } catch (ArithmeticException e) {
        System.out.println("Cannot divide by zero");
    }
    

3. throw

  • Purpose: The throw keyword is used to explicitly throw an exception from a method or any block of code.
  • Usage: Used to generate custom exceptions or to force a method to throw a specific exception.
  • Example:
    public void checkAge(int age) {
        if (age < 18) {
            throw new ArithmeticException("Access denied - You must be at least 18 years old.");
        } else {
            System.out.println("Access granted - You are old enough!");
        }
    }
    

4. throws

  • Purpose: The throws keyword is used to declare that a method might throw exceptions.
  • Usage: Partially offloads error checking to the method's caller (where the method is called). Useful in cases where the method can't handle the exception and needs the caller to handle it.
  • Example:
    public void readFile() throws FileNotFoundException {
        File file = new File("nonexistent.txt");
        FileInputStream fis = new FileInputStream(file); // Might throw FileNotFoundException
    }
    

5. finally

  • Purpose: The finally block ensures that some code runs regardless of whether an exception was thrown or not.
  • Usage: Used to close resources, release locks, and perform final cleanup.
  • Example:
    try {
        int result = 10 / 0;
    } catch (ArithmeticException e) {
        System.out.println("Exception caught");
    } finally {
        System.out.println("Finally block executed");
    }
    

Integration Example:

Here is a detailed example to integrate all these concepts:

Online Code run

🔔 Note: Select your programming language to check or run code at

💻 Run Code Compiler

Step-by-Step Guide: How to Implement Java Programming try, catch, throw, throws, finally

1. Using try and catch:

The try block is used to contain code that might throw an exception, while the catch block is used to handle the exception.

public class TryCatchExample {
    public static void main(String[] args) {
        try {
            // Code that may throw an exception
            int result = 10 / 0; // This will throw ArithmeticException
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            // Handle ArithmeticException
            System.out.println("Caught an ArithmeticException: " + e.getMessage());
        }
        System.out.println("Execution continues...");
    }
}

Output:

Caught an ArithmeticException: / by zero
Execution continues...

2. Using Multiple catch Blocks:

You can have multiple catch blocks to handle different types of exceptions.

public class MultipleCatchExample {
    public static void main(String[] args) {
        try {
            // Code that may throw an exception
            int result = Integer.parseInt("abc"); // This will throw NumberFormatException
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            // Handle ArithmeticException
            System.out.println("Caught an ArithmeticException: " + e.getMessage());
        } catch (NumberFormatException e) {
            // Handle NumberFormatException
            System.out.println("Caught a NumberFormatException: " + e.getMessage());
        }
        System.out.println("Execution continues...");
    }
}

Output:

Caught a NumberFormatException: For input string: "abc"
Execution continues...

3. Using finally:

The finally block is used to execute important code after try and catch, regardless of whether an exception is thrown or not.

public class FinallyExample {
    public static void main(String[] args) {
        try {
            // Code that may throw an exception
            int result = 10 / 0; // This will throw ArithmeticException
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            // Handle ArithmeticException
            System.out.println("Caught an ArithmeticException: " + e.getMessage());
        } finally {
            // Code that will run no matter what
            System.out.println("Finally block: This always executes.");
        }
        System.out.println("Execution continues...");
    }
}

Output:

Caught an ArithmeticException: / by zero
Finally block: This always executes.
Execution continues...

4. Using throw:

The throw keyword is used to explicitly throw an exception.

public class ThrowExample {
    public static void checkAge(int age) {
        if (age < 18) {
            // Throw an ArithmeticException if age is less than 18
            throw new ArithmeticException("Access denied - You must be at least 18 years old.");
        } else {
            System.out.println("Access granted - You are old enough!");
        }
    }

    public static void main(String[] args) {
        checkAge(15); // This will throw an exception
    }
}

Output:

Exception in thread "main" java.lang.ArithmeticException: Access denied - You must be at least 18 years old.
    at ThrowExample.checkAge(ThrowExample.java:7)
    at ThrowExample.main(ThrowExample.java:13)

5. Using throws:

The throws keyword is used to indicate that a method can throw an exception. It is mainly used to declare checked exceptions.

public class ThrowsExample {
    // Method that may throw a checked exception
    public static void readFile() throws Exception {
        // Code to read a file
        // This is just a placeholder, assuming we're throwing an Exception
        throw new Exception("File not found");
    }

    public static void main(String[] args) {
        try {
            readFile(); // Calling the method that throws an exception
        } catch (Exception e) {
            System.out.println("Caught an exception: " + e.getMessage());
        }
    }
}

Output:

You May Like This Related .NET Topic

Login to post a comment.