【发布时间】:2015-05-21 18:06:43
【问题描述】:
我有功能1:
func Function1() {
if err := Function2(); err != nil {
}
}
和功能2:
func Function2() error {
if err := doSomethingThatMightCauseError(); err != nil {
return errors.New("Error Type 1")
}
if err := doSomethingElseThatMightCauseError(); err != nil {
return errors.New("Error Type 2")
}
}
如何检测发生了哪种类型的错误(内部错误,在 db 中未找到结果等),然后在函数 1 中进行相应处理?
【问题讨论】:
-
This answer (by me) 涵盖了产生可测试错误的各种方法。它还链接到The Go Blog: Error handling and Go。
标签: go