Go 语言学习之错误处理

2020年8月1日 187点热度 0人点赞 0条评论

图片


01

概念


在 Go 语言中,错误处理方式一致饱受争议。官方推荐的标准错误处理方法是返回 error 状态。在函数中,通常 error 是最后一个返回参数,程序通过 error 变量判定错误类别并处理。


02

错误处理策略


当一个函数调用返回一个错误时,调用者应该负责检查错误并采取合适的处理策略应对。以下是几种常用的错误处理策略:


  • 将错误传递给调用者

    最常见的错误处理策略是被调用者发生的错误传递给调用者,变为调用者的错误。对于一些简单的错误,被调用者对错误消息可以不用做任何处理,直接将错误消息传递给调用者。


    对于一些复杂的错误,需要将错误消息进行设计之后传递给调用者,设计一个错误消息要注意包含充足的相关信息,并要保持一致性,错误不管是被同一个函数,还是同一个包下的一组函数返回时,它都保持统一的形式和错误处理方式。

  • 超出一定重试次数和限定时间后再报错退出

    对于不固定或不可预测的错误,在一定的时间间隔后重试操作,超出一定重试次数和限定的时间后再报错退出。

  • 调用者输出错误后优雅地停止程序

    重试之后如果程序仍不能正确执行,调用者应该输出错误后优雅地停止程序,通常此种错误处理策略在主函数中执行。

  • 只记录错误信息然后程序继续执行

    对于可接受的错误,只记录错误信息,不中断程序,让程序继续执行。

  • 忽略错误

    甚至对于一些错误,可以直接忽略错误,通常这种错误对程序影响不大,而且系统会异步修正错误。


图片

28900Go 语言学习之错误处理

这个人很懒,什么都没留下

文章评论