Menu
Coddy logo textTech

L'interface `error`

Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 103 sur 109.

En Go, l'interface error est un type intégré qui représente des conditions d'erreur. Tout type qui implémente la méthode Error() satisfait cette interface.

Voici la définition de l'interface error :

type error interface {
    Error() string
}

Créez un type d'erreur personnalisé :

type MyError struct {
    Message string
}

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

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err)
}

Le résultat sera :

something went wrong
challenge icon

Défi

Facile

Dans ce défi, vous travaillerez avec l'interface error de Go. Vous devez créer une erreur personnalisée en utilisant la fonction errors.New(), puis vérifier si une erreur existe.

Le code contient déjà une fonction qui retourne une erreur. Votre tâche consiste à vérifier si l'erreur n'est pas nil et à afficher un message approprié.

Aide-mémoire

L'interface error est un type intégré qui représente des conditions d'erreur. Tout type qui implémente la méthode Error() satisfait cette interface :

type error interface {
    Error() string
}

Créer un type d'erreur personnalisé :

type MyError struct {
    Message string
}

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

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err) // Output: something went wrong
}

Utilisez errors.New() pour créer des erreurs simples et vérifiez si une erreur n'est pas nil.

Essayez vous-même

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Cette fonction retourne une erreur
	err := generateError()
	
	// TODO : Vérifier si err n'est pas nil
	// Si err n'est pas nil, afficher : "Error occurred: " suivi du message d'erreur
	// ASTUCE : Utiliser une instruction if pour vérifier si err != nil
	
	
	// Cette ligne ne s'exécutera que si aucune erreur ne s'est produite
	fmt.Println("Program completed successfully")
}

// Cette fonction génère une erreur
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux