কম্পিউটার টিউটোরিয়াল

C#-এ finally কীওয়ার্ড: ব্যবহার ও উদাহরণ

C#-এ finally ব্লক একটি কোড ব্লক যা এক্সেপশন থ্রো হোক বা না হোক, সবসময় এক্সিকিউট হয়। এটি সাধারণত রিসোর্স ক্লিনআপ (যেমন ফাইল ক্লোজ, ডাটাবেস কানেকশন বন্ধ) এর জন্য ব্যবহৃত হয়।

সিনট্যাক্স

try {
    // এক্সেপশন সৃষ্টি করতে পারে এমন স্টেটমেন্ট
} catch (ExceptionName e1) {
    // এরর হ্যান্ডলিং কোড
} catch (ExceptionName e2) {
    // এরর হ্যান্ডলিং কোড
} catch (ExceptionName eN) {
    // এরর হ্যান্ডলিং কোড
} finally {
    // সবসময় এক্সিকিউট হওয়া স্টেটমেন্ট
}

উদাহরণ: finally ব্লক বাস্তবায়ন

using System;

public class Demo {
    int result;
    Demo() {
        result = 0;
    }
    public void division(int num1, int num2) {
        try {
            result = num1 / num2;
        }
        catch (DivideByZeroException e) {
            Console.WriteLine("এক্সেপশন ক্যাচ হয়েছে = {0}", e);
        }
        finally {
            Console.WriteLine("ফলাফল = {0}", result);
        }
    }
    public static void Main(string[] args) {
        Demo d = new Demo();
        d.division(100, 0);
    }
}

আউটপুট

এক্সেপশন ক্যাচ হয়েছে = System.DivideByZeroException: Attempted to divide by zero.
   at Demo.division(Int32 num1, Int32 num2) in d:\Windows\Temp\n0kebv45.0.cs:line 11
ফলাফল = 0

ব্যাখ্যা: উপরের উদাহরণে ১০০ কে ০ দিয়ে ভাগ করার চেষ্টা করলে DivideByZeroException সৃষ্টি হয়। catch ব্লক এক্সেপশন হ্যান্ডেল করে, কিন্তু finally ব্লক এক্সেপশন হলে এবং না হলে—দুই ক্ষেত্রেই এক্সিকিউট হয় এবং ফলাফল প্রিন্ট করে। এটি নিশ্চিত করে যে ক্রিটিক্যাল ক্লিনআপ কোড সবসময় চলে।

  1. C#-এ 'this' কীওয়ার্ড

  2. পাইথনে assert কীওয়ার্ড

  3. পাইথনে finally কিওয়ার্ড

  4. পাইথনে কীওয়ার্ড (Keywords in Python)