[Python-Dev] PEP 389: argparse - new command line parsing module

Michael Foord fuzzyman at voidspace.org.uk
Sat Oct 3 18:40:45 CEST 2009


Yuvgoog Greenle wrote:
> On Sat, Oct 3, 2009 at 7:21 PM, Michael Foord <fuzzyman at 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.
>
>   

Then subclass and override .exit() as discussed - or put proper 
exception handling around the call to parse_args() (optionally 
rethrowing with whatever custom exception type you wish).

Michael
> --yuv
>   


-- 
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog




More information about the Python-Dev mailing list