Back to questions
Avito
Junior — Middle
106
Какие виды исключений или ошибок можно обработать в языке Go?
Companies where asked
Answer from AI
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 обрабатываются ошибки, возвращаемые функциями, а не исключения в классическом понимании.