Menu
Coddy logo textTech

Das `error`-Interface

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

In Go ist das error-Interface ein integrierter Typ, der Fehlerbedingungen darstellt. Jeder Typ, der die Methode Error() implementiert, erfüllt dieses Interface.

Hier ist die `error`-`interface`-Definition:

type error interface {
    Error() string
}

Erstelle einen benutzerdefinierten Fehlertyp:

type MyError struct {
    Message string
}

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

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

Die Ausgabe lautet:

something went wrong
challenge icon

Aufgabe

Einfach

In dieser Herausforderung arbeitest du mit Gos error-Interface. Du musst einen benutzerdefinierten Fehler mit der errors.New()-Funktion erstellen und dann prüfen, ob ein Fehler existiert.

Der Code enthält bereits eine Funktion, die einen Fehler zurückgibt. Deine Aufgabe ist es zu prüfen, ob der Fehler nicht nil ist, und eine entsprechende Nachricht auszugeben.

Probier es selbst

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Diese Funktion gibt einen Fehler zurück
	err := generateError()
	
	// TODO: Prüfe, ob err nicht nil ist
	// Wenn err nicht nil ist, gib aus: "Error occurred: " gefolgt von der Fehlermeldung
	// HINT: Verwende eine if-Anweisung, um zu prüfen, ob err != nil
	
	
	// Diese Zeile wird ausgeführt, unabhängig davon, ob ein Fehler aufgetreten ist
	fmt.Println("Program completed successfully")
}

// Diese Funktion erzeugt einen Fehler
func generateError() error {
	return errors.New("something went wrong")
}
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