Panic et recover
Contexte
Section intitulée « Contexte »panicarrête l’exécution normale, exécute les fonctions différées, puis termine le programme. Il est utilisé pour des erreurs irrécupérables.recoverreprend le contrôle après unpanic. Il doit être appelé à l’intérieur d’une fonction différée. Si le programme est en panique,recoverretourne la valeur de la panique ; sinon il retournenil.
Attraper une panique et éviter l’arrêt du programme.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func peutPaniquer() { panic("quelque chose s'est mal passé")}
func main() { defer func() { if r := recover(); r != nil { fmt.Println("Récupéré après panique :", r) } }()
fmt.Println("Avant la panique") peutPaniquer() fmt.Println("Cette ligne ne sera pas exécutée")}Avant la paniqueRécupéré après panique : quelque chose s'est mal passé