我想问一下错误处理的最佳实践,假设我有以下读取文件解析它的函数,当找不到文件并且解组失败时,它可能返回两种类型的错误
func Parse(source string) (bma.Bma, error) {
file, err := ioutil.ReadFile(source + "bma.yaml")
m := bma.Bma{}
if err != nil {
logs.Error("Not able to read the bma file")
return m, err
}
err = yaml.Unmarshal([]byte(file), &m)
if err != nil {
logs.Error("Not able to unmarshal the bma file ")
return m, err
}
return m, err
}
现在如果我调用这个函数并且有错误我也打印这个错误,该程序是 CLI 程序所以我认为如果出现问题会打印太多错误,可以吗,或者有更好的方法吗?
bma ,err := Parse("path")
if err != nil {
logs.Error("Error while parsing ")
return m, err
}
温温酱
弑天下
相关分类