Sobes.tech
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.