在阅读代码时,我遇到了代码中当前实现的以下错误处理:
nodes, err := model.AllNodes() links, err := model.AllLinks() if err != nil { // Do stuff }
我很想知道上述错误处理是否会产生不可预测的结果。我有这个选择:
nodes, err1 := model.AllNodes() if err1 != nil { // Do stuff } links, err2 := model.AllLinks() if err2 != nil { // Do stuff }
或许这个:
nodes, err1 := model.AllNodes() links, err2 := model.AllLinks() if err1 != nil || err2 != nil { // Do stuff }
我不确定,请帮助我知道当前实施的错误处理是否会导致错误。如果有更好的选择,请告诉我。感谢。
答案 0 :(得分:7)
你是对的。根本没有处理第一个错误,可能一个错误。如果作者打算不检查该错误,那么明确地这样做会更加明确:
nodes, _ := model.AllNodes()
links, err := model.AllLinks()
if err != nil {
// Do stuff
}