18 错误处理
错误处理基本用法:
跟C#和Python不同,Go的错误处理是直接返回错误值,而不是抛出异常。
Go也提供了恐慌和恢复的异常机制,但它们应该被尽量少用。
错误也是值,就像整数或字符串一样。
error
类型是一个内置(built-in)接口类型,该接口规定了Error() string
方法。
如果要表示执行成功,则把表示错误的变量置为nil
返回。
若要表示执行失败,则把错误变量赋值为errors.New(msg string)
或fmt.Errorf(format string, args... interface{})
返回的值。
您也可以通过自定义一个结构体并实现Error() string
方法来自定义错误类型。
如果一个函数要返回错误,那么错误值应当总是最后一个。
应始终检查函数的返回值中是否包含错误。编写鲁棒性强的软件的关键就是检查错误并进行适当处理。初学者通常放弃检查错误,然后面临调试神秘故障的麻烦。
译者注:error
源码解读
error
源码解读就这么多,没了。是不是简单到爆。error
仅仅是一种普通的interface
类型,包含一个返回类型为字符串的Error()
函数。
最后更新于