From 36b8e61a2b6bc86bda20aa595c3cd9d8e702cb12 Mon Sep 17 00:00:00 2001 From: Tristan Sloughter Date: Thu, 6 Nov 2014 17:44:24 -0600 Subject: better handling of error messages --- src/rebar3.erl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/rebar3.erl b/src/rebar3.erl index e5d82f9..a61209a 100644 --- a/src/rebar3.erl +++ b/src/rebar3.erl @@ -52,7 +52,13 @@ main(Args) -> {error, rebar_abort} -> rebar_utils:delayed_halt(1); {error, {Module, Reason}} -> - ?ERROR(Module:format_error(Reason, []), []), + case code:which(Module) of + non_existing -> + ?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace~n", []), + ?DEBUG("Uncaught error: ~p ~p~n", [Module, Reason]); + _ -> + ?ERROR(Module:format_error(Reason, []), []) + end, rebar_utils:delayed_halt(1); {error, Error} when is_list(Error) -> ?ERROR(Error++"~n", []), -- cgit v1.1