我刚开始接触Go语言。我的代码中开始出现很多这种情况:
if err != nil {
//handle err
}
或者这个
if err := rows.Scan(&some_column); err != nil {
//handle err
}
在Go语言中,有一些好的成语/策略/最佳实践来检查和处理错误吗?
编辑以澄清:我不是在抱怨或建议Go团队提出更好的方法。我想知道我是否做得对,或者是否错过了社区已经找到的某些技巧。谢谢大家。
我刚开始接触Go语言。我的代码中开始出现很多这种情况:
if err != nil {
//handle err
}
或者这个
if err := rows.Scan(&some_column); err != nil {
//handle err
}
在Go语言中,有一些好的成语/策略/最佳实践来检查和处理错误吗?
编辑以澄清:我不是在抱怨或建议Go团队提出更好的方法。我想知道我是否做得对,或者是否错过了社区已经找到的某些技巧。谢谢大家。
func Err(err error) {
if err!=nil {
fmt.Println("Oops", err)
os.Exit(1)
}
}
fi, err := os.Open("mmm.txt")
Err(err)
stderr
而不是stdout
,所以只需使用log.Fatal(err)
或log.Fatalln("some message:", err)
。由于几乎没有什么东西除了main
应该做出这样的决定来结束整个程序(即从函数/方法返回错误,不要中止),在极少数情况下,如果这是您想要做的事情,最好明确地执行它(即if err := someFunc(); err != nil { log.Fatal(err) }
),而不是通过一个不清楚其作用的“helper”函数(名称“Err”不好,它没有表明它可能终止程序)。 - Dave C