Junior — Middle
Какво означава интерфейсът Error в контекста на обработката на грешки?
sobes.tech AI
Отговор от 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.