bpo-37908: Add an example of ArgumentParser.exit() (GH-15455)
Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com>
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index c2cf7d3..6dffd2e 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -2029,7 +2029,14 @@
.. 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)