without needing to explicitly close ``page``. Even if an error occurs,
``page.close()`` will be called when the :keyword:`with` block is exited.
-.. function:: ignored(*exceptions)
+.. function:: ignore(*exceptions)
Return a context manager that ignores the specified exceptions if they
occur in the body of a with-statement.
For example::
- from contextlib import ignored
+ from contextlib import ignore
- with ignored(OSError):
+ with ignore(OSError):
os.remove('somefile.tmp')
This code is equivalent to::
from functools import wraps
__all__ = ["contextmanager", "closing", "ContextDecorator", "ExitStack",
- "ignored", "redirect_stdout"]
+ "ignore", "redirect_stdout"]
class ContextDecorator(object):
sys.stdout = self.old_target
@contextmanager
-def ignored(*exceptions):
+def ignore(*exceptions):
"""Context manager to ignore specified exceptions
- with ignored(OSError):
+ with ignore(OSError):
os.remove(somefile)
"""
stack.push(cm)
self.assertIs(stack._exit_callbacks[-1], cm)
-class TestIgnored(unittest.TestCase):
+class TestIgnore(unittest.TestCase):
def test_no_exception(self):
- with ignored(ValueError):
+ with ignore(ValueError):
self.assertEqual(pow(2, 5), 32)
def test_exact_exception(self):
- with ignored(TypeError):
+ with ignore(TypeError):
len(5)
def test_multiple_exception_args(self):
- with ignored(ZeroDivisionError, TypeError):
+ with ignore(ZeroDivisionError, TypeError):
len(5)
def test_exception_hierarchy(self):
- with ignored(LookupError):
+ with ignore(LookupError):
'Hello'[50]
class TestRedirectStdout(unittest.TestCase):
- Issue #17385: Fix quadratic behavior in threading.Condition. The FIFO
queue now uses a deque instead of a list.
-- Issue #15806: Add contextlib.ignored(). This creates a context manager
- to ignore specified exceptions, replacing the "except Exc: pass" idiom.
+- Issue #15806: Add contextlib.ignore(). This creates a context manager to
+ ignore specified exceptions, replacing the "except SomeException: pass" idiom.
- Issue #14645: The email generator classes now produce output using the
specified linesep throughout. Previously if the prolog, epilog, or