Sobes.tech
Junior — Middle

Qaysi holatlarda istisno bilan ishlashda finally bloki ishlatiladi va u qanday rol o'ynaydi?

sobes.tech AI

AIdan javob

C# tilida finally bloki, try bloki va ehtimoliy catch bloklaridan keyin, xoh exception bo‘ladimi yoki yo‘q, har doim bajarilishi kerak bo‘lgan kodni bajarish uchun ishlatiladi.

finally ning asosiy roli resurslarni bo‘shatish, fayllarni yopish, ma'lumotlar bazasi bilan bog‘lanishni yakunlash, xotirani bo‘shatish va har doim bajarilishi kerak bo‘lgan boshqa tozalash operatsiyalarini amalga oshirishdir.

Misol:

try
{
    // Xatolik keltirib chiqarishi mumkin bo‘lgan kod
    using (var file = new StreamReader("file.txt"))
    {
        var content = file.ReadToEnd();
    }
}
catch (IOException ex)
{
    Console.WriteLine("Faylni o‘qishda xato: " + ex.Message);
}
finally
{
    // Bu kod har doim bajariladi, hatto xato bo‘lmasa yoki boshqarilgan bo‘lsa ham
    Console.WriteLine("Fayl bilan ishlash tugadi.");
}

Agar try blokida xato yuzaga kelsa va u ushlanmasa, finally xato yuqoriga uzatilishidan oldin bajariladi.