Menu
CoddyTech

Création d'erreurs formatées

Fait partie de la section Fondamentaux du Journey GO de Coddy. Leçon 107 sur 109.

Créer des erreurs formatées... vous permet d’inclure des valeurs dynamiques dans les messages d’erreur.

La fonction fmt.Errorf() crée des erreurs avec des chaînes formatées, comme fmt.Printf() :

import (
    "fmt"
)

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, fmt.Errorf("cannot divide %d by zero", a)
    }
    return a / b, nil
}

func main() {
    result, err := divide(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
    } else {
        fmt.Println("Result:", result)
    }
}

Le résultat sera :

Error: cannot divide 10 by zero
challenge icon

Défi

Débutant

Dans ce défi, tu vas t’entraîner à créer des messages d’erreur formatés à l’aide de la fonction fmt.Errorf. Tu as un programme qui valide un nom d’utilisateur, et tu dois créer un message d’erreur approprié lorsque le nom d’utilisateur est invalide.

Le programme contient un nom d’utilisateur prédéfini qui est trop court (moins de 5 caractères). Ta tâche consiste à créer un message d’erreur formaté qui inclut le nom d’utilisateur invalide et la longueur minimale requise.

Essayez vous-même

package main

import (
	"fmt"
)

func main() {
	// Nom d'utilisateur prédéfini trop court
	username := "bob"
	// Longueur minimale requise
	minLength := 5
	
	// Vérifier si username est valide
	if len(username) < minLength {
		// TODO: Créer une erreur formatée avec fmt.Errorf qui inclut :
		// 1. Le username invalide
		// 2. La longueur minimale requise
		// Exemple de format : "invalid username: [username] is too short, minimum length is [minLength]"
		err := // Votre code ici
		
		// Afficher l'erreur
		fmt.Println(err)
	} else {
		fmt.Println("Username is valid!")
	}
}
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

Entraînez-vous par vous-même : Compilateur Go en ligne