Sobes.tech
Junior — Middle

Cosa rappresenta l'interfaccia Error nel contesto della gestione degli errori?

sobes.tech AI

Risposta dell'AI

In Go, l'interfaccia Error definisce un tipo per la gestione degli errori e contiene un solo metodo:

type error interface {
    Error() string
}

Questo metodo restituisce una descrizione dell'errore come stringa. Qualsiasi tipo che implementa questo metodo è considerato un errore e può essere utilizzato con strutture di gestione degli errori, ad esempio, con if err != nil.

Questo approccio consente di creare tipi di errore personalizzati con informazioni aggiuntive, mantenendo la compatibilità con l'interfaccia generale. Ad esempio:

type MyError struct {
    Msg string
}

func (e MyError) Error() string {
    return e.Msg
}
}

func doSomething() error {
    return MyError{Msg: "qualcosa è andato storto"}
}

In questo modo, l'interfaccia Error è un modo standard per trasmettere e gestire gli errori in Go.