Sobes.tech
Junior — Middle

Comment la gestion des erreurs est-elle implémentée dans le langage Go, de manière similaire au mécanisme d'exceptions dans d'autres langages de programmation?

sobes.tech IA

Réponse de l'IA

Dans le langage Go, la gestion des erreurs est implémentée via des valeurs de retour, et non par des exceptions, comme dans beaucoup d'autres langages. Les fonctions et méthodes retournent généralement deux valeurs : le résultat et l'erreur (error). Si l'erreur n'est pas nil, cela signifie qu'une erreur s'est produite et doit être gérée.

Exemple de gestion d'erreur en Go :

package main

import (
    "errors"
    "fmt"
)

func divide(a, b float64) (float64, error) {
    if b == 0 {
        return 0, errors.New("division par zéro")
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Erreur:", err)
        return
    }
    fmt.Println("Résultat:", result)
}

Ainsi, en Go, il n'existe pas de structure try-catch, à la place, les erreurs sont transmises et vérifiées explicitement, ce qui favorise une gestion des erreurs plus claire et contrôlée.