Junior — Middle
În ce situații se utilizează blocul finally în tratarea excepțiilor și ce rol are acesta?
sobes.tech AI
Răspuns de la AI
Blocul finally în C# este utilizat pentru a executa cod care trebuie să fie executat în orice caz după blocul try și posibilele blocuri catch, indiferent dacă a avut loc o excepție sau nu.
Rolul principal al finally este de a elibera resurse, închide fișiere, conexiuni la baze de date, eliberează memorie și alte operațiuni de curățare care trebuie să se întâmple întotdeauna.
Exemplu:
try
{
// Cod care poate genera o excepție
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Eroare la citirea fișierului: " + ex.Message);
}
finally
{
// Acest cod va fi întotdeauna executat, chiar dacă nu a fost o excepție sau a fost tratată
Console.WriteLine("Încheierea lucrului cu fișierul.");
}
Dacă apare o excepție în blocul try și nu este prinsă, finally tot va fi executat înainte ca excepția să fie propagată mai sus.