From 0e3eae153e9f8fcc98a295065a87fcf851ba175b Mon Sep 17 00:00:00 2001 From: Peter Eckersley Date: Thu, 17 Sep 2015 12:29:42 -0700 Subject: [PATCH] Hide tracebacks, but not the ultimate error itself --- letsencrypt/cli.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/letsencrypt/cli.py b/letsencrypt/cli.py index ab03a576f..a413cdf8e 100644 --- a/letsencrypt/cli.py +++ b/letsencrypt/cli.py @@ -845,14 +845,17 @@ def _handle_exception(exc_type, exc_value, trace, args): if issubclass(exc_type, errors.Error): sys.exit(exc_value) - elif args is None: - sys.exit( - "An unexpected error occurred. Please see the logfile '{0}' " - "for more details.".format(logfile)) else: - sys.exit( - "An unexpected error occurred. Please see the logfiles in {0} " - "for more details.".format(args.logs_dir)) + # Tell the user a bit about what happened, without overwhelming + # them with a full traceback + msg = "An unexpected error occurred.\n" + msg += traceback.format_exception_only(exc_type,exc_value)[0] + msg += "\nPlease see the " + if args is None: + msg += "logfile '{0}' for more details.".format(logfile) + else: + msg += "logfiles in {0} for more details.".format(args.logs_dir) + sys.exit(msg) else: sys.exit("".join( traceback.format_exception(exc_type, exc_value, trace)))