fix: correct error formatting for error builder

This commit is contained in:
yusing 2025-04-05 14:19:59 +08:00
parent 4d030d2e16
commit e823172c31

View file

@ -72,14 +72,13 @@ func (err *nestedError) Error() string {
return makeLine("<nil>", 0) return makeLine("<nil>", 0)
} }
lines := make([]string, 0, 1+len(err.Extras))
if err.Err != nil { if err.Err != nil {
lines := make([]string, 0, 1+len(err.Extras))
lines = append(lines, makeLine(err.Err.Error(), 0)) lines = append(lines, makeLine(err.Err.Error(), 0))
lines = append(lines, makeLines(err.Extras, 1)...) lines = append(lines, makeLines(err.Extras, 1)...)
} else {
lines = append(lines, makeLines(err.Extras, 0)...)
}
return strutils.JoinLines(lines) return strutils.JoinLines(lines)
}
return strutils.JoinLines(makeLines(err.Extras, 0))
} }
//go:inline //go:inline
@ -103,8 +102,10 @@ func makeLines(errs []error, level int) []string {
case *nestedError: case *nestedError:
if err.Err != nil { if err.Err != nil {
lines = append(lines, makeLine(err.Err.Error(), level)) lines = append(lines, makeLine(err.Err.Error(), level))
}
lines = append(lines, makeLines(err.Extras, level+1)...) lines = append(lines, makeLines(err.Extras, level+1)...)
} else {
lines = append(lines, makeLines(err.Extras, level)...)
}
default: default:
lines = append(lines, makeLine(err.Error(), level)) lines = append(lines, makeLine(err.Error(), level))
} }