Sobes.tech
Junior — Middle

Kādās situācijās tiek izmantots finally bloks izņēmumu apstrādē un kādu lomu tas spēlē?

sobes.tech AI

Atbilde no AI

C# valodā finally bloks tiek izmantots kodam, kas jāizpilda jebkurā gadījumā pēc try bloka un iespējamajiem catch blokiem, neatkarīgi no tā, vai ir notikusi izņēmuma vai nē.

finally galvenā loma ir resursu atbrīvošana, failu aizvēršana, savienojumu ar datu bāzēm slēgšana, atmiņas atbrīvošana un citas tīrīšanas operācijas, kas vienmēr jāveic.

Piemērs:

try
{
    // Kods, kas var izraisīt izņēmumu
    using (var file = new StreamReader("file.txt"))
    {
        var content = file.ReadToEnd();
    }
}
catch (IOException ex)
{
    Console.WriteLine("Kļūda, lasot failu: " + ex.Message);
}
finally
{
    // Šis kods vienmēr tiks izpildīts, pat ja izņēmums nav noticis vai tas ir apstrādāts
    Console.WriteLine("Darbs ar failu pabeigts.");
}

Ja try blokā notiek izņēmums un tas netiek noķerts, finally tomēr tiks izpildīts pirms izņēmuma pārsūtīšanas uz augšu.