summaryrefslogtreecommitdiffstats
path: root/Doc/library/contextlib.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library/contextlib.rst')
-rw-r--r--Doc/library/contextlib.rst26
1 files changed, 18 insertions, 8 deletions
diff --git a/Doc/library/contextlib.rst b/Doc/library/contextlib.rst
index 0359750..669c04a 100644
--- a/Doc/library/contextlib.rst
+++ b/Doc/library/contextlib.rst
@@ -95,22 +95,27 @@ Functions and classes provided:
``page.close()`` will be called when the :keyword:`with` block is exited.
-.. function:: ignore(*exceptions)
+.. function:: suppress(*exceptions)
- Return a context manager that ignores the specified exceptions if they
- occur in the body of a with-statement.
+ Return a context manager that suppresses any of the specified exceptions
+ if they occur in the body of a with statement and then resumes execution
+ with the first statement following the end of the with statement.
- As with any other mechanism that completely suppresses exceptions, it
- should only be used to cover very specific errors where silently
- ignoring the exception is known to be the right thing to do.
+ As with any other mechanism that completely suppresses exceptions, this
+ context manager should be used only to cover very specific errors where
+ silently continuing with program execution is known to be the right
+ thing to do.
For example::
- from contextlib import ignore
+ from contextlib import suppress
- with ignore(FileNotFoundError):
+ with suppress(FileNotFoundError):
os.remove('somefile.tmp')
+ with suppress(FileNotFoundError):
+ os.remove('someotherfile.tmp')
+
This code is equivalent to::
try:
@@ -118,6 +123,11 @@ Functions and classes provided:
except FileNotFoundError:
pass
+ try:
+ os.remove('someotherfile.tmp')
+ except FileNotFoundError:
+ pass
+
.. versionadded:: 3.4