Sobes.tech
Junior — Middle

In welke gevallen is het nodig om paniekfouten in een programma te vangen en te verwerken?

sobes.tech AI

Antwoord van AI

Het afhandelen van paniekfouten (panic) is nodig in gevallen waarin een correcte afsluiting van het programma of herstel na kritieke fouten moet worden gegarandeerd, om een plotselinge beëindiging te voorkomen.

Bijvoorbeeld:

  • In serverapplicaties, om te voorkomen dat de hele service crasht door één fout.
  • Bij het werken met externe bronnen, om bestanden, verbindingen correct te sluiten.
  • In bibliotheken, om gebruikers de mogelijkheid te bieden kritieke fouten af te handelen.

Hiervoor wordt recover() gebruikt binnen een uitgestelde functie (defer), die de paniek opvangt en het programma in staat stelt door te gaan of correct af te sluiten.

Voorbeeld:

func safeFunction() {
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Gevangen paniek:", r)
        }
    }()

    // Code die paniek kan veroorzaken
    panic("iets ging mis")
}