Sobes.tech
Junior — Middle

Quelles méthodes peuvent être utilisées pour intercepter et gérer une erreur de type panic dans un programme?

sobes.tech IA

Réponse de l'IA

En Go, pour intercepter et gérer une erreur de type panic, le mécanisme recover est utilisé avec defer. La fonction recover permet d’attraper un panic et d’éviter une terminaison brutale du programme.

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é")
}

func main() {
    safeFunction()
    fmt.Println("Le programme continue")
}

Dans cet exemple, defer retarde l’exécution d’une fonction anonyme qui appelle recover. Si un panic se produit dans safeFunction, il sera capturé et géré, permettant au programme de continuer à fonctionner.