错误处理的5种情况总结
- 子函数出错后,将错误返回(node中第一个参数是error)或抛出给父函数。必要时,可以添加些上下文信息,如调用参数,错误细节。
- 子函数内重试。多用于因不确定因素报错,可重试解决。注意限定超时或重试次数。如经典的指数退避策略。
- 父函数处理或记录错误,退出程序。
- 父函数处理或记录错误,继续运行。
- 罕见情况下,忽略错误。会看起来很奇怪,建议加必要的注释。
tips:
- 通常的日志库,有自动添加一致格式时间戳功能、前缀等功能
- 日志尽量保持一行,方便grep等处理
总结自《The Go Programming Language》5.4节