From fc612770826142194213a74d26e99456296a033c Mon Sep 17 00:00:00 2001 From: David Howells Date: Tue, 13 May 2014 17:28:11 +0100 Subject: [PATCH] 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 --- suite/main.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) 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) -- 2.49.0