[
https://issues.apache.org/jira/browse/CLI-249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520093#comment-14520093
]
Benedikt Ritter commented on CLI-249:
-------------------------------------
[~dfg] I don't understand the difference. Have a look at the code in
OptionValidator:
{code:java}
if (opt.length() == 1)
{
char ch = opt.charAt(0);
if (!isValidOpt(ch))
{
throw new IllegalArgumentException("Illegal option name '" + ch
+ "'");
}
}
{code}
In this case opt and ch contain the came charater (because opt has length == 1).
> Message for an illegal character in an option should contain more information
> -----------------------------------------------------------------------------
>
> Key: CLI-249
> URL: https://issues.apache.org/jira/browse/CLI-249
> Project: Commons CLI
> Issue Type: Improvement
> Components: CLI-1.x
> Reporter: David Goodenough
> Fix For: 1.3
>
>
> Currently the code in org.apache.commons.cli.OptionValidator generates an
> IllegalArgumentException which contains the message:-
> "illegal option value '" + ch + "'"
> This is generated in two places, one for single character options and one for
> multi character options.
> However this does not tell the caller which option it is contains this
> character, which makes debugging the error without the source (i.e most
> users) extremely difficult.
> Would it not be possible to change the message to:-
> "illegal option '" + opt + "' value '" + ch + "'"
> which would then at least identify the offending option.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)