Назад к вопросам
Avito
Junior — Middle
82
Как в языке Go реализована обработка ошибок, аналогичная механизму исключений в других языках программирования?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В языке Go обработка ошибок реализована через возвращаемые значения, а не через исключения, как в многих других языках. Функции и методы обычно возвращают два значения: результат и ошибку (error). Если ошибка не равна nil, значит произошла ошибка, и её нужно обработать.
Пример обработки ошибки в Go:
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 нет конструкции try-catch, вместо этого ошибки передаются и проверяются явно, что способствует более явному и контролируемому управлению ошибками.