Junior — Middle
In what situations is the finally block used in exception handling, and what role does it perform?
sobes.tech AI
Answer from AI
The finally block in C# is used to execute code that must run regardless of whether an exception was thrown or not, after the try block and any catch blocks.
The main role of finally is to release resources, close files, database connections, free memory, and perform other cleanup operations that should always occur.
Example:
try
{
// Code that might throw an exception
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("File read error: " + ex.Message);
}
finally
{
// This code will always execute, even if an exception was not thrown or was handled
Console.WriteLine("Finished working with the file.");
}
If an exception occurs in the try block and it is not caught, the finally block will still execute before the exception is propagated further.