错误处理

目录

错误处理一直是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的形式简单明了的多。



微信公众号
关注公众号,获得及时更新

更多文章
  • 我心目中的配置中心应该怎么做?
  • 设计一个HTTP网关
  • 设计一个分布式块存储
  • Linux低电量自动关机
  • CGO简明教程
  • 求值策略:Applicative Order vs Normal Order
  • High Performance MySQL阅读笔记
  • MySQL EXPLAIN中的filesort是什么?
  • 数据库索引设计与优化
  • 如何调试?
  • Docker CE 18.03源码阅读与分析
  • 容器时代的日志处理
  • Golang和Thrift
  • 折腾Kubernetes
  • 协程(coroutine)简介 - 什么是协程?