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.