Sobes.tech
Junior — Middle

Quels types d'exceptions ou d'erreurs peuvent être gérés dans le langage Go?

sobes.tech IA

Réponse de l'IA

Dans le langage Go, il n'existe pas de système traditionnel d'exceptions comme dans certains autres langages. À la place, les erreurs sont gérées à l'aide de valeurs de retour du type error.

Les principales méthodes de gestion des erreurs en Go :

  • Retourner une erreur depuis une fonction : la fonction retourne une valeur et une erreur, qui doivent être vérifiées.
  • Panic (panic) et récupération (recover) : utilisés pour gérer des erreurs critiques qui entraînent généralement l'arrêt du programme, mais qui peuvent être interceptées.

Exemple de gestion d'erreur :

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("Erreur lors de la lecture du fichier :", err)
        return
    }
    fmt.Println(string(data))
}

Ainsi, en Go, les erreurs retournées par les fonctions sont gérées, et non pas des exceptions au sens classique.