【go语言】2.3.1 错误处理的基本概念
在 Go 语言中,错误处理是通过返回错误值进行的,而不是像一些其他语言那样通过抛出和捕获异常。Go 语言有一个内置的接口类型 error
,专门用于处理错误。
error
接口
error
是一个内置的接口,定义如下:
type error interface {
Error() string
}
任何实现了 Error() string
方法的类型都可以被视为一个 error
类型。这个 Error
方法返回描述错误的字符串。
创建错误
Go 语言的 errors
包提供了一个简单的创建 error
类型值的函数 New
:
err := errors.New("something went wrong")
这个 err
就是一个 error
类型的值,它的 Error
方法会返回 "something went wrong"
。
返回错误
在 Go 中,函数通常会返回一个 error
类型的值作为它的最后一个返回值。如果函数执行成功,这个 error
类型的值将会是 nil
,否则它会包含一个描述错误的信息。例如:
func Div(a, b float64) (float64, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
处理错误
如果一个函数返回一个 error
类型的值,你应该检查这个错误是否为 nil
,然后据此决定怎么处理。例如:
result, err := Div(10, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println("Result:", result)
在这个例子中,如果 Div
函数返回了一个错误,程序会打印这个错误然后返回,否则它会打印结果。
错误处理是编写健壮和稳定的程序的重要组成部分,理解并适当地处理错误是每个 Go 开发者的必备技能。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA