Golang 错误异常处理

Golang 错误异常处理

Posted by 锐玩道 on May 21, 2021

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人博客

前言

Golang语言有诸多优点:静态编译、协程、堪比c语言的高性能。 但是也有一些令人发指的地方,经常被人调侃 五行代码,三行错误处理 的异常错误。 那么有无更优雅异常错误处理方法呢?今天我们来讨论一下

问题出现的地方

func readFile(path string) ([]byte, error) {
    file, err := os.Open(path)
    if err != nil {
        return nil, err
    }
    defer file.Close()
    return ioutil.ReadAll(file)
}

函数readFile的功能是读出指定文件本身的内容并将其返回,同时当有错误发生时立即向调用方报告。 根据Golang编程范式,每个可能导致错误的函数都应该将error作为最后一个返回值,所以Golang代码中随处都是”if err != nil”语句。 五行代码,三行错误处理 的调侃段子由此在圈内流行

怎么办呢?