Back to questions
МВидео
Middle+
5
Как работать с ошибками в Go, как обернуть ошибку?
Companies where asked
Answer from AI
sobes.tech AI
В Go ошибки представлены типом error, который является интерфейсом с методом Error() string. Для обработки ошибок принято возвращать их из функций и проверять сразу после вызова.
Чтобы обернуть ошибку и добавить контекст, можно использовать пакет fmt с функцией fmt.Errorf и %w для обёртки, либо использовать сторонние библиотеки, например, pkg/errors.
Пример обёртки ошибки с fmt.Errorf:
if err := someFunc(); err != nil {
return fmt.Errorf("someFunc failed: %w", err)
}
Это позволяет сохранить исходную ошибку и добавить дополнительное описание. Позже можно проверить наличие конкретной ошибки с помощью errors.Is или извлечь её с помощью errors.Unwrap.
Такой подход улучшает трассировку ошибок и упрощает диагностику проблем.