我在用着net.http.client
发送请求后
resp, err := Client.Do(req)
Run Code Online (Sandbox Code Playgroud)
我收到了我想要处理的错误。
err.Error()
以字符串形式返回错误。但我需要将错误作为对象来处理。我发现该方法Unwrap()
似乎返回一个url.Error
对象,但我得到了err.Unwrap undefined (type error has no field or method Unwrap)
抱歉问了个愚蠢的问题,我对 golang 完全陌生。
根据文档,从Client.Do
will 返回的任何错误都是*url.Error
,但由于方法签名表示(*Response, error)
,因此您必须在使用前显式转换它:
urlErr := err.(*url.Error)
if urlErr.Timeout() {
// ..
}
Run Code Online (Sandbox Code Playgroud)