Sobes.tech
Junior — Middle

Co oznacza interfejs Error w kontekście obsługi błędów?

sobes.tech AI

Odpowiedź od AI

W Go interfejs Error definiuje typ do obsługi błędów i zawiera jedną metodę:

type error interface {
    Error() string
}

Ta metoda zwraca opis błędu w formie łańcucha znaków. Każdy typ, który implementuje tę metodę, jest uważany za błąd i może być używany z konstrukcjami obsługi błędów, na przykład z if err != nil.

Takie podejście pozwala na tworzenie własnych typów błędów z dodatkowymi informacjami, zachowując kompatybilność z ogólnym interfejsem. Na przykład:

type MyError struct {
    Msg string
}

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

func doSomething() error {
    return MyError{Msg: "coś poszło nie tak"}
}

W ten sposób interfejs Error jest standardowym sposobem przekazywania i obsługi błędów w Go.