Exception Handling (try, catch, finally ব্লক)

Computer Programming - গ্রুভি (Groovy) Control Flow Statements (নিয়ন্ত্রণ প্রবাহ স্টেটমেন্টস) |
180
180

Groovy তে Exception Handling (try, catch, finally ব্লক)

Groovy তে exception handling একটি গুরুত্বপূর্ণ বিষয়, যা কোডের রানটাইম ত্রুটিগুলি সঠিকভাবে ধরতে এবং তা মোকাবেলা করতে সাহায্য করে। Groovy এর exception handling Java এর মতোই try, catch, এবং finally ব্লক ব্যবহার করে কাজ করে। এই ব্লকগুলো ব্যবহার করে আমরা ত্রুটিগুলো ধরতে, সেগুলি মোকাবেলা করতে এবং কিছু কার্যক্রম চালিয়ে যেতে পারি।

1. try ব্লক

try ব্লক ব্যবহার করা হয় যেখানে আপনি কোড চালানোর সময় যে কোনো ত্রুটি (exception) হতে পারে, এমন কোড লিখেন। যদি try ব্লকের মধ্যে কোনো ত্রুটি ঘটে, তাহলে তা catch ব্লক দ্বারা ধরা হয়।

উদাহরণ:

try {
    def result = 10 / 0  // Divide by zero, which will throw an exception
} catch (ArithmeticException e) {
    println "An error occurred: ${e.message}"
}

এখানে, Divide by zero ত্রুটির কারণে একটি ArithmeticException ঘটবে।

2. catch ব্লক

catch ব্লকটি ত্রুটি ঘটলে try ব্লকের পরপরই চলে আসে এবং ত্রুটির ধরন অনুযায়ী এটি কাজ করে। আপনি এখানে Exception এর ধরন স্পেসিফাই করতে পারেন, যাতে শুধু নির্দিষ্ট ধরনের ত্রুটি ধরা হয়।

উদাহরণ:

try {
    def result = 10 / 0  // Divide by zero error
} catch (ArithmeticException e) {
    println "Caught an exception: ${e.class.simpleName}"
} catch (Exception e) {
    println "Caught a general exception: ${e.message}"
}

এখানে, ArithmeticException প্রথমে ধরা হবে এবং যদি অন্য কোনো ত্রুটি ঘটে, তাহলে সেকেন্ড catch ব্লক কাজ করবে।

3. finally ব্লক

finally ব্লকটি এমন একটি ব্লক যা try এবং catch ব্লক শেষ হওয়ার পর অবশ্যই চালানো হয়, चाहे ত্রুটি ঘটুক বা না ঘটে। এটি সাধারণত সংস্থান মুক্তি (resource release), লগিং অথবা ক্লিনআপ অপারেশন করার জন্য ব্যবহার করা হয়।

উদাহরণ:

try {
    println "Trying to open a file"
    // Some code that could throw an exception
} catch (Exception e) {
    println "Caught exception: ${e.message}"
} finally {
    println "This will always run, regardless of exception"
}

এখানে, finally ব্লকটি কোডের সব পরিস্থিতিতে চলবে, ত্রুটি ঘটুক বা না ঘটুক।


4. Groovy তে Multiple Catch Blocks

Groovy তে আপনি একাধিক catch ব্লক ব্যবহার করতে পারেন, যাতে আপনি বিভিন্ন ধরনের exception আলাদা ভাবে হ্যান্ডল করতে পারেন।

উদাহরণ:

try {
    // Some code that could throw multiple exceptions
    def result = 10 / 0  // Division by zero
    def file = new File("nonexistentfile.txt")
    file.text = "Writing to a nonexistent file"
} catch (ArithmeticException e) {
    println "Arithmetic error: ${e.message}"
} catch (FileNotFoundException e) {
    println "File not found error: ${e.message}"
} catch (Exception e) {
    println "General error: ${e.message}"
}

এখানে, যদি ArithmeticException বা FileNotFoundException ঘটে, তখন সেই ধরনের ত্রুটি হ্যান্ডল হবে। যদি অন্য কোনো ত্রুটি ঘটে, তবে তা সাধারণ Exception ব্লক দ্বারা ধরা হবে।


5. Exception Propagation

Groovy তে, আপনি যদি কোনো ত্রুটি throw করতে চান, তবে তা throw স্টেটমেন্ট ব্যবহার করে করা যেতে পারে। এটি একটি exception তৈরি করে এবং সেটি caller method বা code block এ propagate (পাঠানো) করে।

উদাহরণ:

def divide(a, b) {
    if (b == 0) {
        throw new ArithmeticException("Division by zero is not allowed")
    }
    return a / b
}

try {
    def result = divide(10, 0)
    println "Result: $result"
} catch (ArithmeticException e) {
    println "Caught exception: ${e.message}"
}

এখানে, divide মেথডের মধ্যে যদি শূন্য দিয়ে ভাগ করার চেষ্টা করা হয়, তবে একটি ArithmeticException থ্রো হবে, এবং তা catch ব্লক দ্বারা ধরা হবে।


6. Groovy তে Exception Handling এর সুবিধা

  • পাঠযোগ্যতা: Groovy তে exception handling খুবই সহজ এবং কম কোডে করতে পারেন।
  • নমনীয়তা: আপনি যেকোনো ধরনের exception ধরতে পারেন এবং সেগুলি আলাদা আলাদা ভাবে হ্যান্ডল করতে পারেন।
  • বিল্ট-ইন মেথড: Groovy তে exception handling সহজ করার জন্য অনেক বিল্ট-ইন মেথড রয়েছে।

সারসংক্ষেপ

Groovy তে exception handling একটি শক্তিশালী ফিচার, যা কোডের ত্রুটিগুলি সঠিকভাবে ধরতে এবং তা মোকাবেলা করতে সাহায্য করে। আপনি try, catch, এবং finally ব্লক ব্যবহার করে ত্রুটির ধরন অনুযায়ী সঠিক ব্যবস্থা নিতে পারেন। Groovy এর exception handling সহজ এবং কার্যকরী, যা ডেভেলপারদের কোডে ত্রুটি মোকাবেলা করতে দ্রুত এবং সুবিধাজনক উপায় প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion