错误处理

目录

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



更多文章
  • Haskell简明教程(二):从命令式语言进行抽象
  • Haskell简明教程(一):从递归说起
  • 2017年必装的VIM插件推荐
  • TCP/IP简明教程 - 从零构建TCP/IP协议(二)连接,断开与拥塞控制
  • TCP/IP简明教程 - 从零构建TCP/IP协议(这次叫PCT协议)
  • Lua Manual 阅读笔记
  • Golang Map 源码阅读与分析
  • MySQL 零碎知识 - MySQL必知必会
  • Golang slice 源码阅读与分析
  • 经典好书推荐(2017)
  • Golang log库 源码阅读与分析
  • 毕业后一年
  • ansible 简明教程
  • 自己写个搜索引擎
  • HTTP 路由的两种常见设计形式