Sobes.tech
Junior — Middle

Dans quels cas faut-il capturer et gérer les erreurs de panique dans un programme?

sobes.tech IA

Réponse de l'IA

Gérer les erreurs de panique (panic) est nécessaire dans les cas où il faut garantir une terminaison correcte du programme ou une récupération après des erreurs critiques, afin d'éviter une terminaison brutale.

Par exemple :

  • Dans les applications serveur, pour éviter que tout le service ne tombe à cause d'une erreur.
  • Lors de l'utilisation de ressources externes, pour fermer correctement les fichiers, connexions.
  • Dans les bibliothèques, pour permettre à l'utilisateur de gérer les erreurs critiques.

Pour cela, on utilise recover() dans une fonction différée (defer), qui attrape le panic et permet au programme de continuer ou de se terminer proprement.

Exemple :

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

    // Code pouvant provoquer un panic
    panic("quelque chose a mal tourné")
}