Junior — Middle
Milyen helyzetekben használják a finally blokkot kivételkezelés során, és milyen szerepet tölt be?
sobes.tech MI
Válasz az MI-től
A C#-ban a finally blokkot arra használják, hogy olyan kódot futtassanak, amely minden esetben végrehajtásra kerül a try blokk és a lehetséges catch blokkok után, függetlenül attól, hogy kivétel történt-e vagy sem.
A finally fő feladata az erőforrások felszabadítása, fájlok bezárása, adatbázis-kapcsolatok lezárása, memória felszabadítása és más tisztítási műveletek, amelyek mindig megtörténnek.
Példa:
try
{
// Kód, amely kivételt okozhat
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Hiba a fájl olvasásakor: " + ex.Message);
}
finally
{
// Ez a kód mindig végrehajtódik, még akkor is, ha nem történt kivétel vagy kezelték
Console.WriteLine("A fájl kezelése befejeződött.");
}
Ha a try blokkban kivétel történik, és az nem kerül elkapásra, a finally akkor is végrehajtódik, mielőtt a kivétel továbbterjedne.