Menu
Coddy logo textTech

Interfejs `error`

Część sekcji Podstawy ścieżki GO w Coddy. Lekcja 103 z 109.

W Go interfejs error jest wbudowanym typem, który reprezentuje sytuacje błędów. Każdy typ implementujący metodę Error() spełnia ten interfejs.

Oto definicja interfejsu błędu:

type error interface {
    Error() string
}

Utwórz własny typ błędu:

type MyError struct {
    Message string
}

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

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

Wynik będzie następujący:

something went wrong
challenge icon

Wyzwanie

Łatwy

W tym wyzwaniu poznasz interfejs error języka Go. Musisz utworzyć niestandardowy błąd za pomocą funkcji errors.New(), a następnie sprawdzić, czy wystąpił błąd.

W kodzie znajduje się już funkcja, która zwraca błąd. Twoim zadaniem jest sprawdzić, czy błąd nie ma wartości nil, i wyświetlić odpowiedni komunikat.

Spróbuj swoich sił

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Ta funkcja zwraca błąd
	err := generateError()
	
	// TODO: Sprawdź, czy err nie jest nil
	// Jeśli err nie jest nil, wypisz: "Error occurred: ", a następnie komunikat o błędzie
	// HINT: Użyj instrukcji if, aby sprawdzić, czy err != nil
	
	
	// Ta linia wykonuje się niezależnie od tego, czy wystąpił błąd
	fmt.Println("Program completed successfully")
}

// Ta funkcja generuje błąd
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator Go online