Sobes.tech
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:

  • recover funziona solo all'interno di una funzione differita (defer).
  • Se recover viene chiamato fuori da defer, non catturerà il panic.
  • Di solito, recover viene usato per registrare errori e garantire la stabilità del programma.