【go语言】2.3.1 错误处理的基本概念

打印 上一主题 下一主题

主题 862|帖子 862|积分 2586

在 Go 语言中,错误处理是通过返回错误值进行的,而不是像一些其他语言那样通过抛出和捕获异常。Go 语言有一个内置的接口类型 error,专门用于处理错误。
error 接口

error 是一个内置的接口,定义如下:
  1. type error interface {
  2.     Error() string
  3. }
复制代码
任何实现了 Error() string 方法的类型都可以被视为一个 error 类型。这个 Error 方法返回描述错误的字符串。
创建错误

Go 语言的 errors 包提供了一个简单的创建 error 类型值的函数 New:
  1. err := errors.New("something went wrong")
复制代码
这个 err 就是一个 error 类型的值,它的 Error 方法会返回 "something went wrong"。
返回错误

在 Go 中,函数通常会返回一个 error 类型的值作为它的最后一个返回值。如果函数执行成功,这个 error 类型的值将会是 nil,否则它会包含一个描述错误的信息。例如:
  1. func Div(a, b float64) (float64, error) {
  2.     if b == 0 {
  3.         return 0, errors.New("division by zero")
  4.     }
  5.     return a / b, nil
  6. }
复制代码
处理错误

如果一个函数返回一个 error 类型的值,你应该检查这个错误是否为 nil,然后据此决定怎么处理。例如:
  1. result, err := Div(10, 0)
  2. if err != nil {
  3.     fmt.Println("Error:", err)
  4.     return
  5. }
  6. fmt.Println("Result:", result)
复制代码
在这个例子中,如果 Div 函数返回了一个错误,程序会打印这个错误然后返回,否则它会打印结果。
错误处理是编写健壮和稳定的程序的重要组成部分,理解并适当地处理错误是每个 Go 开发者的必备技能。
推荐阅读:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

温锦文欧普厨电及净水器总代理

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表