Junior — Middle
V jakých situacích se používá blok finally při zpracování výjimek a jakou roli plní?
sobes.tech AI
Odpověď od AI
Blok finally v C# se používá k vykonání kódu, který má být proveden v každém případě po bloku try a případných blocích catch, bez ohledu na to, zda došlo k výjimce nebo ne.
Hlavní funkcí finally je uvolnění zdrojů, zavření souborů, ukončení spojení s databázemi, uvolnění paměti a jiné operace čištění, které musí vždy proběhnout.
Příklad:
try
{
// Kód, který může vyvolat výjimku
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Chyba při čtení souboru: " + ex.Message);
}
finally
{
// Tento kód se vždy vykoná, i když k výjimce nedošlo nebo byla ošetřena
Console.WriteLine("Ukončení práce se souborem.");
}
Pokud dojde k výjimce v bloku try a není zachycena, finally se stejně vykoná před tím, než je výjimka předána dále.