Menu
Coddy logo textTech

Creare errori semplici

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

In Go, puoi creare errori personalizzati usando la funzione errors.New() della libreria standard.

Importa il pacchetto errors:

import (
    "errors"
    "fmt"
)

Crea un semplice errore con un messaggio:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    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 by zero
challenge icon

Sfida

Principiante

In questa sfida, ti eserciterai a creare un semplice errore in Go usando la funzione errors.New().

Hai una funzione che controlla se un nome utente è valido. Un nome utente è considerato valido se ha almeno 5 caratteri. Il tuo compito è completare la funzione restituendo un errore appropriato quando il nome utente è troppo corto.

Provalo tu

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Prova con un nome utente valido
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// Prova con un nome utente non valido
	result, err = validateUsername("go")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}
}

func validateUsername(username string) (string, error) {
	if len(username) < 5 {
		// TODO: Restituisci un errore con il messaggio "username must be at least 5 characters long"
		// Suggerimento: usa errors.New() per creare un nuovo errore
		return "", nil // Sostituisci questa riga
	}
	return "Username is valid", nil
}
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