mirror of https://github.com/v2ray/v2ray-core
31 lines
457 B
Go
31 lines
457 B
Go
package errors
|
|
|
|
import (
|
|
"strings"
|
|
)
|
|
|
|
type multiError []error
|
|
|
|
func (e multiError) Error() string {
|
|
var r strings.Builder
|
|
r.WriteString("multierr: ")
|
|
for _, err := range e {
|
|
r.WriteString(err.Error())
|
|
r.WriteString(" | ")
|
|
}
|
|
return r.String()
|
|
}
|
|
|
|
func Combine(maybeError ...error) error {
|
|
var errs multiError
|
|
for _, err := range maybeError {
|
|
if err != nil {
|
|
errs = append(errs, err)
|
|
}
|
|
}
|
|
if len(errs) == 0 {
|
|
return nil
|
|
}
|
|
return errs
|
|
}
|