Menu
Coddy logo textTech

Einfache Fehler erstellen

Teil des Abschnitts Grundlagen der GO-Journey von Coddy — Lektion 106 von 109.

In Go können Sie benutzerdefinierte Fehler mit der errors.New() Funktion aus der Standardbibliothek erstellen.

Importieren Sie das errors-Paket:

import (
    "errors"
    "fmt"
)

Erstellen Sie einen einfachen Fehler mit einer Fehlermeldung:

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)
    }
}

Die Ausgabe lautet:

Error: cannot divide by zero
challenge icon

Aufgabe

Anfänger

In dieser Challenge üben Sie das Erstellen eines einfachen Fehlers in Go mit der Funktion errors.New().

Sie haben eine Funktion, die prüft, ob ein Benutzername gültig ist. Ein Benutzername gilt als gültig, wenn er mindestens 5 Zeichen lang ist. Ihre Aufgabe ist es, die Funktion zu vervollständigen, indem Sie einen entsprechenden Fehler zurückgeben, wenn der Benutzername zu kurz ist.

Spickzettel

Erstellen Sie benutzerdefinierte Fehler mit errors.New() aus der Standardbibliothek:

import (
    "errors"
    "fmt"
)

Geben Sie einen Fehler aus einer Funktion zurück:

func divide(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("cannot divide by zero")
    }
    return a / b, nil
}

Behandeln Sie den Fehler:

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

Probier es selbst

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Test mit einem gültigen Benutzernamen
	result, err := validateUsername("gopher123")
	if err != nil {
		fmt.Println("Error:", err)
	} else {
		fmt.Println(result)
	}

	// Test mit einem ungültigen Benutzernamen
	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: Gib einen Fehler mit der Nachricht "username must be at least 5 characters long" zurück
		// Hinweis: Verwende errors.New(), um einen neuen Fehler zu erstellen
		return "", nil // Ersetze diese Zeile
	}
	return "Username is valid", nil
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen