Try-catch Block Example: Exception Handling এর জন্য Try-catch এর ব্যবহার

Java Exception Handling Examples - জাভা উদাহরন (Java  Examples) - Java Technologies

401

Java Exception Handling একটি শক্তিশালী ফিচার যা প্রোগ্রামের রuntime-errors বা অন্য কোন অনাকাঙ্ক্ষিত সমস্যা প্রতিরোধ করতে সহায়ক। try-catch ব্লক Java তে exception handling করার জন্য ব্যবহৃত হয়। এটি যখন কোনো কোড ব্লকে exception (ত্রুটি) ঘটে, তখন তা catch ব্লকে ধরা হয় এবং প্রোগ্রামটি ক্র্যাশ না হয়ে সঠিকভাবে চলতে থাকে।

try-catch ব্লক এর সাধারণ কাঠামো:

try {
    // কোড যা exception ঘটাতে পারে
} catch (ExceptionType e) {
    // exception ধরা হলে এটি execute হবে
}

Try-catch ব্লক উদাহরণ:

এখানে একটি সাধারণ উদাহরণ দেয়া হলো, যেখানে একটি ArithmeticException ধরা হয়েছে, যা 0 দ্বারা ভাগ করার সময় ঘটে।

Try-catch Example:

public class TryCatchExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        
        try {
            // কোড যা exception ঘটাতে পারে
            int result = a / b;  // 0 দ্বারা ভাগ করার চেষ্টা
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            // ArithmeticException ধরা হলে এই ব্লক execute হবে
            System.out.println("Error: Cannot divide by zero.");
        }
        
        System.out.println("Program continues...");
    }
}

Explanation:

  1. try ব্লক: এখানে ১০কে ০ দ্বারা ভাগ করার চেষ্টা করা হয়েছে, যা একটি ArithmeticException সৃষ্টি করবে।
  2. catch ব্লক: catch (ArithmeticException e) দিয়ে সেই exception ধরা হচ্ছে। এখানে exception ধরা হলে "Error: Cannot divide by zero." মেসেজটি প্রিন্ট হবে এবং প্রোগ্রামটি থামবে না, চালু থাকবে।
  3. Program continues...: catch ব্লক থেকে exception সঠিকভাবে হ্যান্ডল করার পর প্রোগ্রামটি এটার পরবর্তী অংশে চলে যাবে।

Output:

Error: Cannot divide by zero.
Program continues...

Multiple catch Blocks Example:

একই try ব্লক থেকে একাধিক ভিন্ন ধরনের exception ধরার জন্য একাধিক catch ব্লক ব্যবহার করা যায়। এখানে আমরা একটি ArithmeticException এবং ArrayIndexOutOfBoundsException ধরার চেষ্টা করেছি।

Multiple catch Example:

public class MultipleCatchExample {
    public static void main(String[] args) {
        try {
            // ArithmeticException
            int a = 10;
            int b = 0;
            int result = a / b;
            
            // ArrayIndexOutOfBoundsException
            int[] numbers = new int[2];
            numbers[5] = 10; // Trying to access index 5, which is out of bounds
        } catch (ArithmeticException e) {
            System.out.println("Error: Cannot divide by zero.");
        } catch (ArrayIndexOutOfBoundsException e) {
            System.out.println("Error: Array index is out of bounds.");
        } catch (Exception e) {
            // General Exception
            System.out.println("Error: An unexpected error occurred.");
        }
        
        System.out.println("Program continues...");
    }
}

Explanation:

  1. Multiple Exceptions: এখানে দুটি catch ব্লক আছে—একটি ArithmeticException এবং একটি ArrayIndexOutOfBoundsException এর জন্য।
  2. General catch: যদি অন্য কোন exception ঘটে, তবে এটি Exception ক্লাস দ্বারা ধরা হবে, কারণ এটি Java তে সব ধরনের exceptions এর বেস ক্লাস।

Output:

Error: Cannot divide by zero.
Program continues...

Finally Block Example:

finally ব্লক ব্যবহার করা হয় এমন কোডগুলোর জন্য যা অবশ্যই execute হবে, exception ঘটুক বা না ঘটুক। যেমন, resources বন্ধ করা (যেমন: ফাইল স্ট্রিম) বা শেষের পরিষ্কারক কাজ।

finally Block Example:

public class FinallyExample {
    public static void main(String[] args) {
        try {
            System.out.println("In try block");
            int result = 10 / 2;
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            System.out.println("Error: Cannot divide by zero.");
        } finally {
            // This block will execute regardless of whether an exception occurs
            System.out.println("Finally block executed");
        }
        
        System.out.println("Program continues...");
    }
}

Explanation:

  1. finally block: এটি তখনই execute হবে, যখন try ব্লক শেষ হয়, এবং কোনো exception ঘটুক বা না ঘটুক, এটি অবশ্যই চলবে।
  2. Resources Cleanup: সাধারনত, finally ব্লকটি রিসোর্স ক্লিনআপের জন্য ব্যবহৃত হয় যেমন ফাইল বা ডেটাবেস সংযোগ বন্ধ করা।

Output:

In try block
Result: 5
Finally block executed
Program continues...

Exception Propagation Example:

যখন একটি মেথড exception ফেলে এবং সেটি আরেকটি মেথডে পাঠানো হয়, তখন আমরা exception propagation এর কথা বলি।

Exception Propagation Example:

public class ExceptionPropagationExample {
    public static void main(String[] args) {
        try {
            method1();
        } catch (Exception e) {
            System.out.println("Caught exception: " + e);
        }
    }
    
    public static void method1() throws Exception {
        method2();
    }
    
    public static void method2() throws Exception {
        throw new Exception("An error occurred in method2");
    }
}

Explanation:

  1. throws keyword: method1() এবং method2() তে throws Exception ব্যবহৃত হয়েছে, যা ইঙ্গিত দেয় যে এই মেথডগুলিতে exception ঘটতে পারে এবং সেগুলি main() মেথডে প্রেরণ করা হবে।
  2. Exception Propagation: method2() তে exception ঘটলে, তা method1() এ পাঠানো হবে এবং পরে main() মেথডে এটি catch করা হবে।

Output:

Caught exception: java.lang.Exception: An error occurred in method2

Java তে exception handling কোডে ত্রুটি বা সমস্যা ঘটলে প্রোগ্রামটি ক্র্যাশ না হয়ে সঠিকভাবে কাজ করতে সহায়তা করে। try-catch, finally এবং exception propagation এর মাধ্যমে আপনি আপনার প্রোগ্রামে ত্রুটির হ্যান্ডলিং সঠিকভাবে করতে পারবেন। এটি আপনাকে শক্তিশালী এবং রোবাস্ট অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...