Github user afine commented on the issue:
https://github.com/apache/zookeeper/pull/240
@hanm I'm not sure that we should always assume that an
IllegalArgumentException will only be thrown when a path is invalid. Since
IllegalArgumentException does not need to be caught, it will be difficult for
us to tell if we are masking IllegalArgumentExceptions thrown for other
reasons. So we should minimize the code surrounded by `try { }
catch(IllegalArgumentException e) {}` We cannot catch them within the methods
of ZooKeeper.java so I think catching them at the "Command" level is the best
we can do.
IllegalArgumentException is a RuntimeException, which should represent a
"programming problem"
(http://docs.oracle.com/javase/tutorial/essential/exceptions/runtime.html).
>Runtime exceptions represent problems that are the result of a programming
problem, and as such, the API client code cannot reasonably be expected to
recover from them or to handle them in any way.
So if it does pop up for reasons other than a bad path, we should certainly
bubble it up and kill the CLI.
We abuse IllegalArgumentException all over ZK, I believe we should change
this exception type in 3.6.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---