美文网首页
Go语言是如何处理error的

Go语言是如何处理error的

作者: louyang | 来源:发表于2021-06-22 15:34 被阅读0次

无非是两种情况:

  1. 我们如何处理别的函数返回来的error?
  2. 我们怎么写一个函数返回error?

1. 如何处理别的函数返回的error

result, err := SomeFunction()
if err != nil {
    // handle error
}

2. 如何写一个可能返回error的函数

func MyFunc() (int, error) {
    // if error happens
    return -1, errors.New("We met some error")
}

3. 一个完整的例子

package main

import (
    "log"
    "errors"
)

func SomeFunc() (int, error) {
    return -1, errors.New("We met some error")
}

func main() {
    if _, err := SomeFunc(); err != nil {
        log.Fatal(err)
        return
    }
}

运行结果:

2021/06/22 10:27:01 We met some error
exit status 1

4. 最后什么是error?

其定义如下:

type error interface {
    Error() string
}

不了解Go语言中interface概念的请看这里:https://www.jianshu.com/p/52620d1c7dd2

参考

https://www.bacancytechnology.com/blog/golang-error-handling
https://blog.logrocket.com/error-handling-in-golang/

相关文章

网友评论

      本文标题:Go语言是如何处理error的

      本文链接:https://www.haomeiwen.com/subject/xgzpyltx.html