error
Go 使用 error 类型来表示函数执行过程中遇到的错误,如果返回的 error 值为 nil,则表示未遇到错误,否则 error 会返回一个字符串,用于说明遇到了什么错误。
error 只是一个接口,定义如下:
cat $GOROOT/src/builtin/builtin.go
// The error built-in interface type is the conventional interface for
// representing an error condition, with the nil value representing no error.
type error interface {
Error() string
}
errors
errors 包实现了一个简单的 error 类型,只包含一个字符串,它可以记录大多数情况下遇到的错误信息。errors 包的用法也很简单,只有一个 New 函数,用于生成一个最简单的 error 对象:
cat $GOROOT/src/errors/errors.go
package errors
func New(text string) error {
return &errorString{text}
}
type errorString struct {
s string
}
func (e *errorString) Error() string{
return e.s
}
------------------------------
// 示例
func SomeFunc() error {
if 遇到错误 {
return errors.New("遇到了某某错误")
}
return nil
}
网友评论