为了账号安全,请及时绑定邮箱和手机立即绑定

如何处理 http.Get 函数中的错误

如何处理 http.Get 函数中的错误

Go
慕标5832272 2021-10-18 17:08:23
我有这个功能的问题:func execute(query Query) (goreq.Response, error) {    res, err := goreq.Request{        Uri:         "http://path/to/host",        QueryString: query,        Accept:      "application/json",        UserAgent:   "XXXGoClient/1.0",        Timeout:     2000 * time.Millisecond,        Compression: goreq.Gzip(),        //ShowDebug:   true,    }.Do()    return *res, err}panic: runtime error: invalid memory address or nil pointer dereference当 http 请求出现错误时,我收到了。我知道我会检查这样的事情:if err != nil {    // do somthing here}但我不知道我必须做什么,例如:if err != nil {    return}我明白了 ./main.go:113: not enough arguments to return
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

最后我解决这个问题如下


if err != nil {

    var empty goreq.Response

    return empty, err

}


查看完整回答
反对 回复 2021-10-18
?
ITMISS

TA贡献1871条经验 获得超8个赞

根据我有限的经验,错误就是价值。你的函数返回两个值,return,还不够。return nil, nil如果无论如何都没有响应返回怎么样......或者你可以用panic(err). 如果请求失败,取决于您想做什么。


查看完整回答
反对 回复 2021-10-18
  • 3 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信