summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-01-16 15:18:00 +0000
committerSimon MacMullen <simon@rabbitmq.com>2012-01-16 15:18:00 +0000
commitf1e9ae878d06b44c8d572d8c74065761d0b4a467 (patch)
tree884d59cc9769a8c4bfbe067c5ff5e522911b0d00 /src
parentb45e48ad5788cbb814fd46b7bec1f84a9261bc1d (diff)
parentd5ce4fc72e9d8d67d6293f99406e55e614e80304 (diff)
downloadrabbitmq-server-git-f1e9ae878d06b44c8d572d8c74065761d0b4a467.tar.gz
Merge bug24676
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_control.erl14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 20486af52b..22b57b1ae9 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -79,6 +79,12 @@ start() ->
io:format(Format ++ " ...~n", Args1)
end
end,
+ PrintInvalidCommandError =
+ fun () ->
+ print_error("invalid command '~s'",
+ [string:join([atom_to_list(Command) | Args], " ")])
+ end,
+
%% The reason we don't use a try/catch here is that rpc:call turns
%% thrown errors into normal return values
case catch action(Command, Node, Args, Opts, Inform) of
@@ -88,9 +94,11 @@ start() ->
false -> io:format("...done.~n")
end,
rabbit_misc:quit(0);
- {'EXIT', {function_clause, [{?MODULE, action, _} | _]}} ->
- print_error("invalid command '~s'",
- [string:join([atom_to_list(Command) | Args], " ")]),
+ {'EXIT', {function_clause, [{?MODULE, action, _} | _]}} -> %% < R15
+ PrintInvalidCommandError(),
+ usage();
+ {'EXIT', {function_clause, [{?MODULE, action, _, _} | _]}} -> %% >= R15
+ PrintInvalidCommandError(),
usage();
{'EXIT', {badarg, _}} ->
print_error("invalid parameter: ~p", [Args]),