Sobes.tech
Назад к вопросам
Junior — Middle
107

Какие виды исключений или ошибок можно обработать в языке Go?

Компании, где спрашивали
AvitoAvito

Ответ от нейросети

sobes.tech AI

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

Основные способы обработки ошибок в Go:

  • Возврат ошибки из функции: функция возвращает значение и ошибку, которую нужно проверить.
  • Паника (panic) и восстановление (recover): используются для обработки критических ошибок, которые обычно приводят к остановке программы, но могут быть перехвачены.

Пример обработки ошибки:

func readFile(filename string) ([]byte, error) {
    data, err := os.ReadFile(filename)
    if err != nil {
        return nil, err
    }
    return data, nil
}

func main() {
    data, err := readFile("file.txt")
    if err != nil {
        fmt.Println("Ошибка при чтении файла:", err)
        return
    }
    fmt.Println(string(data))
}

Таким образом, в Go обрабатываются ошибки, возвращаемые функциями, а не исключения в классическом понимании.