错误处理策略

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

Go的错误处理编码风格

image.png


捕获迭代变量?

可变参数
**

Deferred函数

image.png

需要注意一点:不要忘记 defe语句后的圆括号,否则本该在进入时 执行的操作会在退出时执行,而本该在退出时执行癿,永迖不会被执行