Menu
Coddy logo textTech

Creare errori formattati

Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 107 di 109.

Creare errori formattati... ti permette di includere valori dinamici nei messaggi di errore.

La funzione fmt.Errorf() crea errori con stringhe formattate, in modo simile a 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)
    }
}

L'output sarà:

Error: cannot divide 10 by zero
challenge icon

Sfida

Principiante

In questa sfida, ti eserciterai a creare messaggi di errore formattati usando la funzione fmt.Errorf. Hai un programma che convalida un nome utente e devi creare un messaggio di errore appropriato quando il nome utente non è valido.

Il programma ha un nome utente predefinito troppo corto (meno di 5 caratteri). Il tuo compito è creare un messaggio di errore formattato che includa il nome utente non valido e la lunghezza minima richiesta.

Provalo tu

package main

import (
	"fmt"
)

func main() {
	// username predefinito troppo corto
	username := "bob"
	// Lunghezza minima richiesta
	minLength := 5
	
	// Verifica se username è valido
	if len(username) < minLength {
		// TODO: Crea un errore formattato usando fmt.Errorf che includa:
		// 1. Lo username non valido
		// 2. La lunghezza minima richiesta
		// Esempio di formato: "invalid username: [username] is too short, minimum length is [minLength]"
		err := // Il tuo codice qui
		
		// Stampa l'errore
		fmt.Println(err)
	} else {
		fmt.Println("Username is valid!")
	}
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Go online