# [StGit PATCH] Handle commandline parsing errors gracefully

1 messages from 2008-04-20 to 2008-04-20. Participants: Karl Hasselström.
Thread: https://gitlist.dev/t/13184

## Karl Hasselström, 2008-04-20 13:19

Subject: [StGit PATCH] Handle commandline parsing errors gracefully
Message-ID: <20080420131847.8824.87769.stgit@yoghurt>
URL: https://gitlist.dev/e/20080420131847.8824.87769.stgit%40yoghurt

```
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(-)


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:

```
