diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2011-11-24 17:20:50 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2011-11-24 17:20:50 +0000 |
commit | 8361f7e9c7542d1468a26a5b80b4ff9ecb6bacb1 (patch) | |
tree | dcffc0543426a190043b8313bff4b687775cda44 | |
parent | 586eab144380932dbcae787fdc4dc94c85605162 (diff) | |
download | rabbitmq-server-8361f7e9c7542d1468a26a5b80b4ff9ecb6bacb1.tar.gz |
Also handle tokenising errors somewhat.
-rw-r--r-- | src/rabbit_control.erl | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 2858e55c..6fa25ba6 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -371,14 +371,19 @@ action(report, Node, _Args, _Opts, Inform) -> ok; action(eval, Node, [Expr], _Opts, _Inform) -> - {ok, Scanned, _} = erl_scan:string(Expr), - case erl_parse:parse_exprs(Scanned) of - {ok, Parsed} -> - {value, Value, _} = unsafe_rpc(Node, erl_eval, exprs, [Parsed, []]), - io:format("~p~n", [Value]), - ok; - {error, {1, erl_parse, Err}} -> - {error, Err} + case erl_scan:string(Expr) of + {ok, Scanned, _} -> + case erl_parse:parse_exprs(Scanned) of + {ok, Parsed} -> + {value, Value, _} = unsafe_rpc( + Node, erl_eval, exprs, [Parsed, []]), + io:format("~p~n", [Value]), + ok; + {error, {1, erl_parse, Err}} -> + {error, Err} + end; + {error, {1, erl_scan, E}, _} -> + {error, ["scan error: ", E]} end. %%---------------------------------------------------------------------------- |