golang错误处理总结
写在前面
Go中的错误处理与Java、JavaScript或Python等其他主流编程语言略有不同。Go的内置错误不包含堆栈跟踪,也不支持传统的尝试/捕获方法来处理它们。相反,Go中的错误只是函数返回的值,可以用与任何其他数据类型几乎相同的方式来处理它们,这导致了一个惊人的轻量级和简单的设计。
在本文中,我将演示Go中处理错误的基础知识,以及一些可以在代码中遵循的简单策略,以确保程序健壮且易于调试。
error关键字
在golang中error关键字是一个interface,他的定义如下:
type error interface {
Error() string
}
因此任何实现了interface的类型,都可以有Error() 的表现,它会返回一段字符串
,也正是这样简介的表达,让golang中的错误处理异与任何其他编程语言。
实现接口
在golang标准库中,总能让我看到特别优化的设计,就比如如何实现一个错误,官方标准库如下: