Skip to content

Commit de9b5b4

Browse files
authored
Merge pull request #2203 from oprudkyi/issue/arg_errors
feat: add name of argument into error message when parsing fails
2 parents 1380b5f + 8666da8 commit de9b5b4

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

args.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func (a *ArgumentBase[T, C, VC]) Parse(s []string) ([]string, error) {
118118
tracef("attempting arg%[1] parse", &a.Name)
119119
if len(s) > 0 {
120120
if err := value.Set(s[0]); err != nil {
121-
return s, err
121+
return s, fmt.Errorf("invalid value %q for argument %s: %v", s[0], a.Name, err)
122122
}
123123
*a.value = value.Get().(T)
124124
tracef("set arg%[1] one value", a.Name, *a.value)
@@ -197,7 +197,7 @@ func (a *ArgumentsBase[T, C, VC]) Parse(s []string) ([]string, error) {
197197
tracef("attempting arg%[1] parse", &a.Name)
198198
for _, arg := range s {
199199
if err := value.Set(arg); err != nil {
200-
return s, err
200+
return s, fmt.Errorf("invalid value %q for argument %s: %v", arg, a.Name, err)
201201
}
202202
tracef("set arg%[1] one value", &a.Name, value.Get().(T))
203203
a.values = append(a.values, value.Get().(T))

0 commit comments

Comments
 (0)