Sobes.tech
Junior — Middle

Quali tipi di eccezioni o errori possono essere gestiti nel linguaggio Go?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go non esiste un sistema tradizionale di eccezioni come in alcuni altri linguaggi. Al suo posto, gli errori vengono gestiti tramite valori di ritorno di tipo error.

I principali metodi di gestione degli errori in Go:

  • Restituire un errore da una funzione: la funzione restituisce un valore e un errore, che devono essere verificati.
  • Panic (panic) e recupero (recover): usati per gestire errori critici che di solito portano alla terminazione del programma, ma possono essere intercettati.

Esempio di gestione degli errori:

func readFile(filename string) ([]byte, error) {
    data, err := os.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        fmt.Println("Errore durante la lettura del file:", err)
        return
    }
    fmt.Println(string(data))
}

In questo modo, in Go, gli errori restituiti dalle funzioni vengono gestiti, e non le eccezioni nel senso classico.