Files
Go_I2p/lib/common/data/errors.go

32 lines
964 B
Go
Raw Normal View History

2022-07-14 16:05:48 -04:00
package data
import (
"fmt"
"github.com/samber/oops"
)
var (
ErrZeroLength = oops.Errorf("error parsing string: zero length")
ErrDataTooShort = oops.Errorf("string parsing warning: string data is shorter than specified by length")
ErrDataTooLong = oops.Errorf("string parsing warning: string contains data beyond length")
ErrLengthMismatch = oops.Errorf("error reading I2P string, length does not match data")
ErrMappingLengthMismatch = oops.Errorf("warning parsing mapping: mapping length exceeds provided data")
)
2022-07-14 16:05:48 -04:00
2022-09-12 08:31:02 +00:00
// WrapErrors compiles a slice of errors and returns them wrapped together as a single error.
2022-07-14 16:05:48 -04:00
func WrapErrors(errs []error) error {
var err error
for i, e := range errs {
err = oops.Errorf("%v\n\t%d: %v", err, i, e)
2022-07-14 16:05:48 -04:00
}
return err
}
2022-09-12 08:31:02 +00:00
// PrintErrors prints a formatted list of errors to the console.
2022-07-14 16:05:48 -04:00
func PrintErrors(errs []error) {
for i, e := range errs {
fmt.Printf("\t%d: %v\n", i, e)
}
}