একটি Custom Exception তৈরি করুন এবং এটি ব্যবহার করে দেখান।

Interview Scenarios সম্পর্কিত প্রশ্নাবলী - জাভা ইন্টারভিউ প্রশ্ন (Java Interview Questions) - Java Technologies

305

Custom Exception হল একটি এক্সসেপশন ক্লাস যা আপনি নিজে তৈরি করেন। এটি সাধারণত তখন ব্যবহৃত হয় যখন standard Java exceptions আপনার প্রয়োজন পূরণ করতে সক্ষম হয় না। Custom exception তৈরি করতে হলে আপনাকে Exception বা RuntimeException ক্লাসের একটি সাবক্লাস তৈরি করতে হবে।

নিচে একটি Custom Exception তৈরি এবং এটি ব্যবহার করার উদাহরণ দেওয়া হলো:

1. Custom Exception ক্লাস তৈরি করা

// Custom exception class
public class InvalidAgeException extends Exception {
    
    // Constructor with custom message
    public InvalidAgeException(String message) {
        super(message);  // Pass the message to the parent (Exception) class
    }
}

এখানে InvalidAgeException হল একটি custom checked exception যেটি Exception ক্লাস থেকে ইনহেরিট করা হয়েছে। এটি একটি কাস্টম মেসেজ গ্রহণ করে, যা এক্সসেপশন ঘটানোর সময় ব্যবহার করা হবে।

2. Custom Exception ব্যবহার করা

এখন আমরা একটি ক্লাস তৈরি করব যেখানে আমরা আমাদের custom exception ব্যবহার করব। উদাহরণস্বরূপ, আমরা একটি বয়স যাচাই করার প্রোগ্রাম তৈরি করব যেখানে একটি নির্দিষ্ট বয়সের নিচে হলে custom exception ছোড়া হবে।

public class AgeValidator {

    // Method to validate age
    public static void validateAge(int age) throws InvalidAgeException {
        if (age < 18) {
            // Throwing the custom exception if age is less than 18
            throw new InvalidAgeException("Age must be 18 or older to register.");
        } else {
            System.out.println("Age is valid.");
        }
    }

    public static void main(String[] args) {
        try {
            // Test case: Age less than 18, which will throw the custom exception
            validateAge(16);  // This will throw InvalidAgeException
        } catch (InvalidAgeException e) {
            // Handling the custom exception
            System.out.println("Error: " + e.getMessage());
        }

        try {
            // Test case: Valid age
            validateAge(20);  // This will not throw an exception
        } catch (InvalidAgeException e) {
            // This block will not be executed
            System.out.println("Error: " + e.getMessage());
        }
    }
}

উদাহরণ ব্যাখ্যা:

  1. InvalidAgeException একটি কাস্টম এক্সসেপশন ক্লাস, যা Exception ক্লাস থেকে ইনহেরিট করে। এতে একটি কনস্ট্রাক্টর রয়েছে যা একটি মেসেজ নেয়।
  2. validateAge() মেথডটি বয়স যাচাই করে। যদি বয়স ১৮ এর নিচে হয়, তাহলে InvalidAgeException ছুড়ে দেওয়া হয়। অন্যথায়, এটি একটি "Age is valid" বার্তা প্রিন্ট করে।
  3. main() মেথডে, দুটি বয়স যাচাই করা হয়েছে। প্রথমে ১৬ বছর বয়স দিয়ে মেথডটি কল করলে কাস্টম এক্সসেপশন ছোড়া হবে এবং মেসেজ প্রিন্ট হবে। পরবর্তী ২০ বছর বয়স দিয়ে কল করলে, "Age is valid." প্রিন্ট হবে।

Output:

Error: Age must be 18 or older to register.
Age is valid.
  • Custom exceptions Java তে তৈরি করা খুবই সহজ। আপনি যখন চাইবেন, তখন নিজের প্রয়োজন অনুযায়ী কাস্টম এক্সসেপশন তৈরি করতে পারেন।
  • কাস্টম এক্সসেপশন ক্লাসগুলি checked exception হতে পারে (যেমন এখানে আমরা Exception থেকে ইনহেরিট করেছি), অথবা unchecked exception (যেমন RuntimeException থেকে ইনহেরিট করা) হতে পারে।
  • কাস্টম এক্সসেপশন তৈরি এবং ব্যবহার করলে আপনার প্রোগ্রামটি আরও readable এবং maintainable হয়ে ওঠে, কারণ আপনি স্পষ্টভাবে নির্দিষ্ট ধরনের ভুলগুলি চিহ্নিত করতে পারবেন।
Content added By
Promotion

Are you sure to start over?

Loading...