mirror of
https://github.com/prometheus/prometheus.git
synced 2025-01-22 11:11:02 -08:00
Merge pull request #460 from grafana/implement-multi-errors-is
Implement Is() for multierrors
This commit is contained in:
commit
f7f1fc750c
|
@ -16,6 +16,7 @@ package errors
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
@ -79,6 +80,19 @@ func (es nonNilMultiError) Error() string {
|
|||
return buf.String()
|
||||
}
|
||||
|
||||
// Is attempts to match the provided error against errors in the error list.
|
||||
//
|
||||
// This function allows errors.Is to traverse the values stored in the MultiError.
|
||||
// It returns true if any of the errors in the list match the target.
|
||||
func (es nonNilMultiError) Is(target error) bool {
|
||||
for _, err := range es.errs {
|
||||
if errors.Is(err, target) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// CloseAll closes all given closers while recording error in MultiError.
|
||||
func CloseAll(cs []io.Closer) error {
|
||||
errs := NewMulti()
|
||||
|
|
Loading…
Reference in a new issue