错误处理策略

成功的逻辑一般不会放在else块中而是在外层的作用域。
1.最常见的策略将错误传递下去,子例程的错误变成主例程的错误。

resp, err := http.Get(url)
if err != nil {
    return nil, err
}

fmt.Errorf格式化一条错误消息并返回一个新的错误值

fmt.Errorf("a error")  //返回一个error

2.对于某些错误,短暂的间隔进行重试,超出一个定重试次数和限定时间再报错退出。
3.对于主程序来说,遇错时如果无法顺利进行下去,可以输出错误然后停止程序。
一个方便的方法是调用log.Fatalf,默认会将日期和时间作为前缀添加到错误消息前。

log.Fatalf(“error is : %v”, err) //所有log函数都会为缺少换行符的日志补充一个换行符

4.在一些错误情况下,只记录错误信息然后程序继续运行。

log.Printf("error!!")

5.罕见情况,忽略掉整个日志

猜你喜欢

转载自blog.csdn.net/weixin_42506905/article/details/81408309