Я использую Go и Джин Гони c, чтобы проверить и изучить некоторые основы Go. Сначала я уже делал некоторые синтаксические и базовые упражнения.
У меня есть main.go
(с использованием Gin Goni c), в котором я определяю пути, такие как r.GET(/todo, handler)
. У меня есть hander.go
, в котором я описываю обработчики следующим образом:
func GetTodoListHandler(c *gin.Context) {
c.JSON(http.StatusOK, todo.Get())
}
Наконец-то у меня есть todo/todo.go
, где я определяю свою структуру и функции todo.
Теперь мой вопрос, до какой стадии я должен возвращать ошибки?
В моем todo/todo.go
у меня есть функция Get()
. Он использует другую вспомогательную функцию, которая может иметь возможную ошибку, например
location, err := helper(blabla)
if err != nil {
// for a pointer we can return a nil
return nil, err
}
Теперь я должен вернуть возможную ошибку из вспомогательной функции в функцию Get
и из функции get обратно в функцию handler
или нет? До какой стадии я должен возвращать эти ошибки, всегда ли это до обработчика?