Back to questions
Самокат
Junior — Middle
102
Какие механизмы и подходы используются в Golang для обработки ошибок в программах?
Companies where asked
Evrone
Answer from AI
sobes.tech AI
В Go обработка ошибок основана на возвращении значения ошибки (тип error) из функций. Вместо исключений используется явная проверка ошибок после вызова функции.
Основные подходы:
- Функции возвращают два значения: результат и ошибку
error. - Ошибка проверяется с помощью
if err != nil. - Для создания ошибок используется
errors.Newилиfmt.Errorf. - Для более сложной обработки можно использовать пакеты
errors(например,errors.Is,errors.As) для проверки и оборачивания ошибок.
Пример:
package main
import (
"errors"
"fmt"
)
func divide(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("деление на ноль")
}
return a / b, nil
}
func main() {
result, err := divide(10, 0)
if err != nil {
fmt.Println("Ошибка:", err)
return
}
fmt.Println("Результат:", result)
}
Таким образом, Go поощряет явную и простую обработку ошибок без использования исключений.