Middle — Middle+
Come si deve dichiarare correttamente il meccanismo di Recovery nel sistema?
sobes.tech AI
Risposta dell'AI
In Go, il meccanismo recover viene utilizzato per intercettare le paniche (panic) ed evitare che il programma termini in modo anomalo. La dichiarazione e l'uso corretto di recover devono avvenire all'interno di una funzione differita tramite defer. Questo permette di catturare la panica se si verifica nella funzione chiamata e di gestirla.
Esempio di utilizzo corretto:
func safeCall() {
defer func() {
if r := recover(); r != nil {
fmt.Println("Recuperato da panic:", r)
}
}()
// Codice che può causare panic
panic("qualcosa è andato storto")
}
Punti chiave:
recoverfunziona solo all'interno di una funzione differita (defer).- Se
recoverviene chiamato fuori dadefer, non catturerà il panic. - Di solito,
recoverviene usato per registrare errori e garantire la stabilità del programma.