Sobes.tech
Junior — Middle

In welke situaties wordt de finally-blok gebruikt bij het afhandelen van uitzonderingen en welke rol speelt het?

sobes.tech AI

Antwoord van AI

De finally-blok in C# wordt gebruikt om code uit te voeren die in elk geval moet worden uitgevoerd na het try-blok en eventuele catch-blokken, ongeacht of er een uitzondering is opgetreden of niet.

De belangrijkste rol van finally is het vrijmaken van bronnen, het sluiten van bestanden, verbindingen met databases, het vrijmaken van geheugen en andere opruimacties die altijd moeten plaatsvinden.

Voorbeeld:

try
{
    // Code die een uitzondering kan veroorzaken
    using (var file = new StreamReader("file.txt"))
    {
        var content = file.ReadToEnd();
    }
}
catch (IOException ex)
{
    Console.WriteLine("Fout bij het lezen van het bestand: " + ex.Message);
}
finally
{
    // Deze code wordt altijd uitgevoerd, zelfs als er geen uitzondering was of deze werd afgehandeld
    Console.WriteLine("Bezig met afsluiten van het bestand.");
}

Als er een uitzondering optreedt in het try-blok en deze niet wordt opgevangen, wordt finally toch uitgevoerd voordat de uitzondering verder wordt doorgegeven.