错误处理

目录

错误处理一直是Go语言中饱受诟病的一点,类似这样:

func OpenFile(path string) (*os.File, error) {
    if f, err := os.Open(path); err != nil {
        return nil, err
    } else {
        return f, nil
    }
}

当然,上面的例子可以写的更简单,为了展示异常处理,因此写成这样。

而Python中是这样写:

try:
    open(path)
except FileNotFoundError:
    pass

表面上看不出什么太大的区别,但实际上当调用层次深了之后,try...except... 的这种形式会比Go语言返回error的形式简单明了的多。



更多文章
  • 读《格鲁夫给经理人的第一课》
  • 读《打开心智》
  • 为什么要把复杂的联表操作拆成多个单表查询?
  • 红包系统的设计
  • 2022年终总结
  • MySQL Index Condition Pushdown Optimization
  • Go mod 简明教程
  • OpenWRT 使用 Android/iOS USB 网络
  • 搭建旁路由
  • Golang gRPC 错误处理
  • 编写可维护的单元测试代码
  • OAuth 2 详解(六):Authorization Code Flow with PKCE
  • OAuth 2 详解(五):Device Authorization Flow
  • OAuth 2 详解(四):Client Credentials Flow
  • OAuth 2 详解(三):Resource Owner Password Credentials Grant