Какие методы обработки ошибок тебе известны?

В Go обработка ошибок обычно строится на возвращении значения ошибки из функции и её проверке. Основные методы:

Короткий ответ

Что ответить на собеседовании

В Go обработка ошибок обычно строится на возвращении значения ошибки из функции и её проверке. Основные методы:

Подробный разбор

Ответ с пояснениями

В Go обработка ошибок обычно строится на возвращении значения ошибки из функции и её проверке. Основные методы:

  1. Возврат ошибки как значения — функция возвращает error как последний возвращаемый параметр. Вызывающий код проверяет if err != nil.
func readFile(name string) ([]byte, error) {
    data, err := os.ReadFile(name)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(string(data))
}
  1. Паника и восстановление (panic/recover) — для критических ошибок, которые не должны происходить в норме. panic вызывает остановку программы, recover позволяет обработать панику.
  2. Пакет errors и обёртки ошибок — для создания и обогащения ошибок дополнительной информацией.
  3. Использование пользовательских типов ошибок — для более точной обработки разных типов ошибок.

В Go не принято использовать исключения, как в других языках, а ошибки обрабатываются явно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее