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