]> granicus.if.org Git - python/commitdiff
bpo-37908: Add an example of ArgumentParser.exit() (GH-15455)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 12 Sep 2019 15:43:14 +0000 (08:43 -0700)
committerGitHub <noreply@github.com>
Thu, 12 Sep 2019 15:43:14 +0000 (08:43 -0700)
Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit b1a2abdb06408ffc4f13d6ff50351ad49c99afc0)

Co-authored-by: Hai Shi <shihai1992@gmail.com>
Doc/library/argparse.rst

index 368b1cfebf05681caae0ecafdde130d632a699a8..56bd64172f80126763916e68f4ff18cfccfb85e9 100644 (file)
@@ -2001,7 +2001,14 @@ Exiting methods
 .. method:: ArgumentParser.exit(status=0, message=None)
 
    This method terminates the program, exiting with the specified *status*
-   and, if given, it prints a *message* before that.
+   and, if given, it prints a *message* before that. The user can override
+   this method to handle these steps differently::
+
+    class ErrorCatchingArgumentParser(argparse.ArgumentParser):
+        def exit(self, status=0, message=None):
+            if status:
+                raise Exception(f'Exiting because of an error: {message}')
+            exit(status)
 
 .. method:: ArgumentParser.error(message)