[
https://issues.apache.org/jira/browse/ACCUMULO-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13840292#comment-13840292
]
Christopher Tubbs commented on ACCUMULO-1965:
---------------------------------------------
I think API design principles tend to apply regardless of the argument of
whether or not the API is "user facing". I can't see how we could even make
that distinction, anyway... because all APIs are subject to being wrapped.
I just don't see a problem with the basic IllegalArgumentException with an
informative message. If the API is wrapped and gets arguments from users, it
should do its own argument validation before passing to Accumulo's API. We
could make it easier to do this argument validation, though... and I think I'd
prefer that option if there's a sensible way to do that. However, we already
throw IllegalArgumentException for a lot of our API if the argument is
unexpectedly null... and from an API perspective, I'm not sure this kind of
error is functionally any different than that kind of error... they're both
illegal arguments.
In essence, I think: if we document what are valid arguments, and you're a
consumer of that API, then you need to ensure that the arguments you provide
are valid arguments. This is true for anything using the API... whether you are
an end user, or a wrapper.
> Invalid table names (& namespaces) should have dedicated error codes
> --------------------------------------------------------------------
>
> Key: ACCUMULO-1965
> URL: https://issues.apache.org/jira/browse/ACCUMULO-1965
> Project: Accumulo
> Issue Type: Bug
> Components: client
> Reporter: John Vines
>
> To improve the client API, we should minimize the number of exceptions that
> require String parsing to determine the exception type. Table naming errors
> is one of them.
--
This message was sent by Atlassian JIRA
(v6.1#6144)