文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
错误处理
Go 语言主要的设计准则是:简洁、明白,简洁是指语法和 C 类似,相当的简单,明白是指任何语句都是很明显的,不含有任何隐含的东西,在错误处理方案的设计中也贯彻了这一思想。
在 C 语言里面是通过返回 -1
或者 NULL
之类的信息来表示错误,但是对于使用者来说,不查看相应的 API 说明文档,根本搞不清楚这个返回值究竟代表什么意思,比如:返回 0 是成功,还是失败,而 Go
定义了一个叫做 error
的类型,来显式表达错误。在使用时,通过把返回的 error
变量与 nil
的比较,来判定操作是否成功。例如 os.Open
函数在打开文件失败时将返回一个不为 nil
的 error
变量
func Open(name string) (file *File, err error)
下面这个例子通过调用 os.Open
打开一个文件,如果出现错误,那么就会调用 log.Fatal
来输出错误信息:
f, err := os.Open("filename.ext")
if err != nil {
log.Fatal(err)
}
类似于 os.Open
函数,标准包中所有可能出错的 API 都会返回一个 error
变量,以方便错误处理,这个小节将详细地介绍 error
类型的设计,和讨论开发 Web 应用中如何更好地处理 error
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论