Go 语言中的错误处理与语句详解
错误处理扩展
Go 语言内置的错误类型较为简单,许多第三方包对其进行了扩展,例如 JuJu Errors。下面介绍几种扩展错误类型的示例。
收集多个错误
可以定义一个 MultError 类型来收集多个错误,示例代码如下:
type MultError []error
func (me MultError) Error() (res string) {
res = "MultError"
sep := " "
for _, e := range me {
res = fmt.Sprintf("%s%s%s", res, sep, e.Error())
sep = "; "
}
return
}
func (me MultError) String() string {
return me.Error()
}
使用示例:
me := MultError(make([]error, 0, 10))
for _, v := range []string{"one", "two", "three"} {
me = append(me, errors.New(v))
}
fmt.Printf("MultipleError error: %s\n", me.Error())
fmt.Printf("MultipleError value: %v\n\n
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



