猿问

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

我有这个功能的问题:


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


慕标5832272
浏览 243回答 3
3回答

小唯快跑啊

最后我解决这个问题如下if err != nil {    var empty goreq.Response    return empty, err}

ITMISS

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

相关分类

Go
我要回答