gpt4 book ai didi

go - 直到我必须返回Go中的错误的哪个阶段?

转载 作者:行者123 更新时间:2023-12-01 21:18:10 24 4
gpt4 key购买 nike

我正在使用Go和Gin Gonic来测试和练习Go的一些基础知识。我首先已经做了一些语法和基础练习。

我有一个main.go(使用Gin Gonic),在其中定义了像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函数?直到我必须返回这些错误的哪个阶段,才一直返回到处理程序?

最佳答案

我会这样做:

func GetTodoListHandler(c *gin.Context) {
list, err := todo.Get()
if err != nil {
c.String(http.StatusInternalServerError, err.Error())
}
c.JSON(http.StatusOK, list)
}

并返回 todo.Get(列表,错误)。

您的http处理程序(如 GetTodoListHandler)永远不要返回错误,而是将响应/状态代码发送给客户端。

关于go - 直到我必须返回Go中的错误的哪个阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61214024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com