From: Karl Hasselström Date: Sun, 20 Apr 2008 13:19:12 GMT Subject: [StGit PATCH] Handle commandline parsing errors gracefully Message-ID: <20080420131847.8824.87769.stgit@yoghurt> The commandline option parser raises SystemExit after having explained to the user what she did wrong. A recent refactoring introduced a catch-all "except:" at the top level, which caught the SystemExit and printed a traceback. Let's just simply exit instead, like we used to. Signed-off-by: Karl Hasselström --- This goes on the "master" branch. stgit/main.py | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/stgit/main.py b/stgit/main.py index 663fdec..aa1f8ef 100644 --- a/stgit/main.py +++ b/stgit/main.py @@ -281,6 +281,10 @@ def main(): if debug_level > 0: traceback.print_exc() sys.exit(utils.STGIT_COMMAND_ERROR) + except SystemExit: + # Triggered by the option parser when it finds bad commandline + # parameters. + sys.exit(utils.STGIT_COMMAND_ERROR) except KeyboardInterrupt: sys.exit(utils.STGIT_GENERAL_ERROR) except: