class numpy.errstate(**kwargs)
[source]
Context manager for floating-point error handling.
Using an instance of errstate
as a context manager allows statements in that context to execute with a known error handling behavior. Upon entering the context the error handling is set with seterr
and seterrcall
, and upon exiting it is reset to what it was before.
Changed in version 1.17.0: errstate
is also usable as a function decorator, saving a level of indentation if an entire function is wrapped. See contextlib.ContextDecorator
for more information.
Parameters: |
|
---|
See also
For complete documentation of the types of floating-point exceptions and treatment options, see seterr
.
>>> from collections import OrderedDict >>> olderr = np.seterr(all='ignore') # Set error handling to known state.
>>> np.arange(3) / 0. array([nan, inf, inf]) >>> with np.errstate(divide='warn'): ... np.arange(3) / 0. array([nan, inf, inf])
>>> np.sqrt(-1) nan >>> with np.errstate(invalid='raise'): ... np.sqrt(-1) Traceback (most recent call last): File "<stdin>", line 2, in <module> FloatingPointError: invalid value encountered in sqrt
Outside the context the error handling behavior has not changed:
>>> OrderedDict(sorted(np.geterr().items())) OrderedDict([('divide', 'ignore'), ('invalid', 'ignore'), ('over', 'ignore'), ('under', 'ignore')])
__call__ (self, func) | Call self as a function. |
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/generated/numpy.errstate.html