Sobes.tech
Back to questions
Junior — Middle
96

Что обозначает интерфейс Error в контексте обработки ошибок?

Companies where asked
Самокат Тех

Answer from AI

sobes.tech AI

В Go интерфейс Error определяет тип для обработки ошибок и содержит единственный метод:

type error interface {
    Error() string
}

Этот метод возвращает строковое описание ошибки. Любой тип, реализующий этот метод, считается ошибкой и может использоваться с конструкциями обработки ошибок, например, с if err != nil.

Такой подход позволяет создавать собственные типы ошибок с дополнительной информацией, сохраняя совместимость с общим интерфейсом. Например:

type MyError struct {
    Msg string
}

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

func doSomething() error {
    return MyError{Msg: "что-то пошло не так"}
}

Таким образом, интерфейс Error — это стандартный способ передачи и обработки ошибок в Go.