From b630ae92318f7566ef396bfb4356fe1e3646eeb4 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 21 Jun 2016 23:00:08 +0200 Subject: [PATCH] catch and format exceptions in arg parsing --- borg/archiver.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/borg/archiver.py b/borg/archiver.py index bbd6a2e43..5f094b0e7 100644 --- a/borg/archiver.py +++ b/borg/archiver.py @@ -1522,7 +1522,15 @@ def main(): # pragma: no cover setup_signal_handlers() archiver = Archiver() msg = None - args = archiver.get_args(sys.argv, os.environ.get('SSH_ORIGINAL_COMMAND')) + try: + args = archiver.get_args(sys.argv, os.environ.get('SSH_ORIGINAL_COMMAND')) + except Error as e: + msg = e.get_message() + if e.traceback: + msg += "\n%s\n%s" % (traceback.format_exc(), sysinfo()) + # we might not have logging setup yet, so get out quickly + print(msg, file=sys.stderr) + sys.exit(e.exit_code) try: exit_code = archiver.run(args) except Error as e: