我写了这个非常基本的解析器,它通过 Reddit JSON 并且很好奇我如何在 Go 中专门管理错误。
例如,我有一个链接的“获取”方法:
func Get(reddit string) ([]Item, error) {
url := fmt.Sprintf("http://reddit.com/r/%s.json", reddit)
resp, err := http.Get(url)
if err != nil {
return nil, err
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, err
}
/*
* Other code here
*/
}
例如,我如何处理来自 StatusCode 的 404 错误?我知道我可以测试 404 错误本身:
if resp.StatusCode == http.StatusNotfound {
//do stuff here
}
但是有没有一种方法可以直接管理而resp.StatusCode != http.StatusOK不用写一堆 if 语句?有没有办法可以err在 switch 语句中使用?
ABOUTYOU
相关分类