Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /home/bibiizjb/ptutorials.com/en/account/functions/check_point_2.php on line 25
Java Exception Handling (try-catch-finally, throws, throw) Tutorial

Java Exception Handling Tutorial

Exception handling in Java is a mechanism to handle runtime errors, ensuring that the program can continue running or terminate gracefully. Exceptions are events that disrupt the normal flow of a program, and Java provides a robust framework to catch and handle these exceptions. This tutorial will cover the basics of exception handling, including try-catch blocks, multiple catch blocks, the finally block, and custom exceptions.

By the end of this tutorial, you'll understand how to handle exceptions effectively in Java, making your programs more robust and error-resistant.

What is an Exception?

An exception is an event that occurs during the execution of a program that disrupts its normal flow. Exceptions can be caused by various factors, such as invalid user input, file not found, or network issues.

  • Checked Exceptions: Exceptions that are checked at compile-time (e.g., IOException, SQLException).
  • Unchecked Exceptions: Exceptions that are checked at runtime (e.g., NullPointerException, ArithmeticException).
  • Errors: Serious issues that are not meant to be caught (e.g., OutOfMemoryError, StackOverflowError).

Try-Catch Block

The try-catch block is used to catch and handle exceptions. The try block contains the code that might throw an exception, and the catch block contains the code to handle the exception.

  • Syntax:
    try {
        // Code that might throw an exception
    } catch (ExceptionType e) {
        // Code to handle the exception
    }
  • Example:
    public class Main {
        public static void main(String[] args) {
            try {
                int result = 10 / 0; // This will throw an ArithmeticException
            } catch (ArithmeticException e) {
                System.out.println("Caught an exception: " + e.getMessage());
            }
        }
    }

Multiple Catch Blocks

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

  • Syntax:
    try {
        // Code that might throw an exception
    } catch (ExceptionType1 e) {
        // Handle ExceptionType1
    } catch (ExceptionType2 e) {
        // Handle ExceptionType2
    }
  • Example:
    public class Main {
        public static void main(String[] args) {
            try {
                int[] numbers = {1, 2, 3};
                System.out.println(numbers[5]); // This will throw an ArrayIndexOutOfBoundsException
            } catch (ArithmeticException e) {
                System.out.println("Caught an arithmetic exception: " + e.getMessage());
            } catch (ArrayIndexOutOfBoundsException e) {
                System.out.println("Caught an array index out of bounds exception: " + e.getMessage());
            }
        }
    }

Finally Block

The finally block is used to execute code regardless of whether an exception is thrown or not. It is often used for cleanup activities, such as closing files or releasing resources.

  • Syntax:
    try {
        // Code that might throw an exception
    } catch (ExceptionType e) {
        // Handle the exception
    } finally {
        // Code to be executed regardless of an exception
    }
  • Example:
    public class Main {
        public static void main(String[] args) {
            try {
                int result = 10 / 0; // This will throw an ArithmeticException
            } catch (ArithmeticException e) {
                System.out.println("Caught an exception: " + e.getMessage());
            } finally {
                System.out.println("This will always be executed.");
            }
        }
    }

Custom Exceptions

You can create your own exception classes by extending the Exception class. Custom exceptions are useful for handling specific errors in your application.

  • Example:
    // Custom exception class
    class InvalidAgeException extends Exception {
        public InvalidAgeException(String message) {
            super(message);
        }
    }
    
    public class Main {
        static void validateAge(int age) throws InvalidAgeException {
            if (age < 18) {
                throw new InvalidAgeException("Age must be 18 or older.");
            } else {
                System.out.println("Age is valid.");
            }
        }
    
        public static void main(String[] args) {
            try {
                validateAge(15); // This will throw an InvalidAgeException
            } catch (InvalidAgeException e) {
                System.out.println("Caught an exception: " + e.getMessage());
            }
        }
    }

This tutorial covered the basics of exception handling in Java. Practice using these concepts to make your programs more robust and error-resistant.

0 Interaction 0 Views 0 likes
Heart Button
×
×
🍪 CookieConsent@Ptutorials:~

Welcome to Ptutorials

Note: We aim to make learning easier by sharing top-quality tutorials, but please remember that tutorials may not be 100% accurate, as occasional mistakes can happen. Once you've mastered the language, we highly recommend consulting the official documentation to stay updated with the latest changes. If you spot any errors, please feel free to report them to help us improve.

We kindly ask that you refrain from posting interactions unrelated to web development, such as political, sports, or other non-web-related content. Please be respectful and interact with other members in a friendly manner. By participating in discussions and providing valuable answers, you can earn points and level up your profile.

$ Allow cookies on this site ? (y/n)

top-home