错误处理策略
- 传播错误:在返回错误信息时应该提供清晰的从原因到后果的完整因果链,同时要注意信息表达的一致性。
- 重试:如果错误的发生是偶然性的,或者由于不可预知的问题寻导致。一种明智的选择是重新尝词失败的操作。在重试时, 我们需要限制重试的时间间陻戒重试的次数,防止无限限制重试。
- 结束程序:如果错误发生后,程序无法继续运行,我们就可以采用第三种策略:输出错误信息并结束程序。需要注意的是,这种策略应该在 main中执行。对库函数而言,应该向上传播错误,除非该错误意味程序内部包含不一致性,或遇到了 bug,才能在库函数中结束程序。
- 只输出错误信息:有些情况我们只需要输出错诨信息就足够了,不需要中断程序而运行
- 直接忽略错误信息
Go的错误处理编码风格
Deferred函数
需要注意一点:不要忘记 defe语句后的圆括号,否则本该在进入时 执行的操作会在退出时执行,而本该在退出时执行癿,永迖不会被执行