Write a Java program to create and throw custom exceptions.
Certainly! Below is a simple Java program that demonstrates how to create and throw custom exceptions. In this example, we will create a custom exception called InvalidAgeException
that will be thrown when an invalid age is provided (e.g., a negative age or an age greater than 150).
First, we will create the custom exception class:
// InvalidAgeException.java
public class InvalidAgeException extends Exception {
public InvalidAgeException(String message) {
super(message);
}
}
Next, we will create a main class that uses this custom exception:
// Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = scanner.nextInt();
try {
validateAge(age);
System.out.println("Your age is: " + age);
} catch (InvalidAgeException e) {
System.out.println("Exception: " + e.getMessage());
} finally {
scanner.close();
}
}
public static void validateAge(int age) throws InvalidAgeException {
if (age < 0 || age > 150) {
throw new InvalidAgeException("Age must be between 0 and 150.");
}
}
}
Custom Exception Class:
InvalidAgeException
extends the Exception
class. It has a constructor that takes a message string, which is passed to the superclass constructor.Main Class:
Scanner
to read user input for age.validateAge
method checks if the age is valid. If the age is less than 0 or greater than 150, it throws an InvalidAgeException
.main
method, we call validateAge
inside a try-catch block to handle the custom exception. If an exception is thrown, we catch it and print the error message.To run this program, you can create two files: InvalidAgeException.java
and Main.java
. Compile both files and run the Main
class. The program will prompt you to enter your age and will validate it, throwing an exception if the age is invalid.
Valid Age:
Enter your age: 25
Your age is: 25
Invalid Age:
Enter your age: -5
Exception: Age must be between 0 and 150.
This example illustrates how to create and throw custom exceptions in Java effectively.