threads / patch / 13184

patchHandle commandline parsing errors gracefully

Subject: [StGit PATCH] Handle commandline parsing errors gracefully

## tl;dr

One message between Apr 20, 2008 and Apr 20, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Karl Hasselström· Apr 20, 2008, 13:19 UTC · lore

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 <kha@treskal.com>
---
This goes on the "master" branch.
 stgit/main.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Show changes to stgit/main.py +4 −0
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:

← back to recent threads