摘要
如你所见,Go 中的错误处理和日志记录与其他编程语言中的这些过程不同。 首先,Go 的错误处理方法非常简单。 使用 if
条件,调用的函数应返回多个值。 按照惯例,最后一个返回值为错误。 如果错误变量返回 nil
,则不存在错误。 如果值不为 nil
,则存在失败。 只需再次返回错误即可将错误传播到堆栈,并且可以根据需要添加更多上下文。
可以创建可重用为程序中常见错误消息的返回值的错误变量。
你还需要了解何时使用 panic。 我们已介绍 panic
和 recover
的工作原理。 仅当明确需要停止程序时,才应使用这些函数。 有时,即使你正确处理了错误,程序也可能会停止响应。 但这应该是异常,而不是规则。
最后,我们探讨了 Go 中日志记录的工作原理,你了解了如何使用标准库。 除了将日志打印到控制台之外,你还可以将日志发送到文件供稍后处理,然后将它们发送到一个集中位置。 当代码库扩大时,你可能需要执行其他操作,例如设置日志级别或配置不同输出。 标准库中不支持这些任务。 你将需要使用记录框架,例如 zerolog。
此模块较短,但请务必充分了解相关概念。 在需要对程序中的问题进行故障排除时,它们将有所帮助。