1Panel/core/buserr/multi_err.go

24 lines
365 B
Go
Raw Normal View History

2024-07-19 19:04:11 +08:00
package buserr
import (
"bytes"
"fmt"
"sort"
)
type MultiErr map[string]error
func (e MultiErr) Error() string {
var keys []string
for key := range e {
keys = append(keys, key)
}
sort.Strings(keys)
buffer := bytes.NewBufferString("")
for _, key := range keys {
buffer.WriteString(fmt.Sprintf("[%s] %s\n", key, e[key]))
}
return buffer.String()
}