Go Error接口和错误处理

35 阅读1分钟
# Error接口和错误处理
Go 语言中的错误处理与其他语言不太一样,它把错误当成一种值来处理,
更强调判断错误、处理错误,而不是一股脑的 catch 捕获异常。

### Error 接口
type error interface {
    Error() string
}

### 创建错误
我们可以根据需求自定义 error,最简单的方式是使用`errors` 包提供的`New`函数创建一个错误
func New(text string) error

### 错误结构体类型
// OpError 自定义结构体类型
type OpError struct {
	Op string
}

// Error OpError 类型实现error接口
func (e *OpError) Error() string {
	return fmt.Sprintf("无权执行%s操作", e.Op)
}