On Sat, Oct 3, 2009 at 7:21 PM, Michael Foord <fuzzyman@voidspace.org.uk> wrote:
[snip...] Why not just catch SystemExit? If you want a custom exception the overriding .exit() should be sufficient. I'd be much more interested in Guido's suggestion of auto-generated custom help messages for sub-commands.
Check it out: def ParseAndRun(): crazy_external_function_that_might_exit() # Argparse blah blah parser.parse_args() if __name__ == "__main__": try: ParseAndRun() except SystemExit: # was it crazy_external_function_that_might_exit or an argparse error? I know this might come through as bike shedding but it's just customary python that every module have it's own exception types as to not mix them up with others. --yuv