Junior — Middle
В кои ситуации се използва блокът finally при обработка на изключения и каква роля изпълнява?
sobes.tech AI
Отговор от AI
Блокът finally в C# се използва за изпълнение на код, който трябва да бъде изпълнен във всеки случай след блока try и възможните блокове catch, независимо дали е възникнало изключение или не.
Основната роля на finally е освобождаване на ресурси, затваряне на файлове, връзки с бази данни, освобождаване на памет и други операции по почистване, които трябва винаги да се случват.
Пример:
try
{
// Код, който може да предизвика изключение
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Грешка при четене на файла: " + ex.Message);
}
finally
{
// Този код ще се изпълни винаги, дори и да няма изключение или то да е обработено
Console.WriteLine("Завършване на работата с файла.");
}
Ако в блока try възникне изключение и то не бъде хванато, finally все пак ще се изпълни преди изключението да бъде пренасочено нагоре.