From: David Howells Date: Tue, 13 May 2014 16:28:11 +0000 (+0100) Subject: Handle exit codes better X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=fc612770826142194213a74d26e99456296a033c;p=users%2Fdhowells%2Fkafs-utils.git Handle exit codes better Returning the intended exit code from the main try block that invokes the subcommand handler rather than trying to exit within the exception handling seems to work better and actually return the error code. Signed-off-by: David Howells --- diff --git a/suite/main.py b/suite/main.py index b4ecc35..c6fe79f 100644 --- a/suite/main.py +++ b/suite/main.py @@ -160,23 +160,22 @@ def _main(): try: command.main(params) ret = get_exitcode() - sys.exit(ret) except (AFSException, IOError) as err: print(prog + ":", str(err), file=sys.stderr) if debugging_level > 0: traceback.print_exc() - sys.exit(1) + ret = 1 except AFSArgumentError as e: print(prog + ":", e, file=sys.stderr) - sys.exit(2) + ret = 2 except KeyboardInterrupt: - sys.exit(1) + ret = 1 except SystemExit: - sys.exit(0) + ret = 0 except: print('Unhandled exception:', file=sys.stderr) traceback.print_exc() - sys.exit(3) + ret = 3 sys.exit(ret or 0)