摘要

已完成

如你所见,Go 中的错误处理和日志记录与其他编程语言中的这些过程不同。 首先,Go 的错误处理方法非常简单。 使用 if 条件,调用的函数应返回多个值。 按照惯例,最后一个返回值为错误。 如果错误变量返回 nil,则不存在错误。 如果值不为 nil,则存在失败。 只需再次返回错误即可将错误传播到堆栈,并且可以根据需要添加更多上下文。

可以创建可重用为程序中常见错误消息的返回值的错误变量。

你还需要了解何时使用 panic。 我们已介绍 panicrecover 的工作原理。 仅当明确需要停止程序时,才应使用这些函数。 有时,即使你正确处理了错误,程序也可能会停止响应。 但这应该是异常,而不是规则。

最后,我们探讨了 Go 中日志记录的工作原理,你了解了如何使用标准库。 除了将日志打印到控制台之外,你还可以将日志发送到文件供稍后处理,然后将它们发送到一个集中位置。 当代码库扩大时,你可能需要执行其他操作,例如设置日志级别或配置不同输出。 标准库中不支持这些任务。 你将需要使用记录框架,例如 zerolog。

此模块较短,但请务必充分了解相关概念。 在需要对程序中的问题进行故障排除时,它们将有所帮助。