summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-11-24 17:07:36 +0000
committerSimon MacMullen <simon@rabbitmq.com>2011-11-24 17:07:36 +0000
commitd40f4265caf61dd405f37313dfe8817feb66b150 (patch)
tree11a28fd27147c24cbc9a2a4f69d2bfa8b5ae63fc
parent6de4d8441b3cad3b30f737fb20dc2d9c72adc6ae (diff)
downloadrabbitmq-server-d40f4265caf61dd405f37313dfe8817feb66b150.tar.gz
Handle the most common parsing error nicely.
-rw-r--r--src/rabbit_control.erl12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 9d47a78f..6e57b1ba 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -372,10 +372,14 @@ action(report, Node, _Args, _Opts, Inform) ->
action(eval, Node, [Expr], _Opts, _Inform) ->
{ok, Scanned, _} = erl_scan:string(Expr),
- {ok, Parsed} = erl_parse:parse_exprs(Scanned),
- {value, Value, _Bindings} = rpc_call(Node, erl_eval, exprs, [Parsed, []]),
- io:format("~p~n", [Value]),
- ok.
+ case erl_parse:parse_exprs(Scanned) of
+ {ok, Parsed} ->
+ {value, Value, _} = rpc_call(Node, erl_eval, exprs, [Parsed, []]),
+ io:format("~p~n", [Value]),
+ ok;
+ {error, {1, erl_parse, Err}} ->
+ {error, Err}
+ end.
%%----------------------------------------------------------------------------