numpy.errstate#
- class numpy.errstate(**kwargs)[source]#
- Context manager for floating-point error handling. - Using an instance of - errstateas 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- seterrand- seterrcall, and upon exiting it is reset to what it was before.- Changed in version 1.17.0: - errstateis also usable as a function decorator, saving a level of indentation if an entire function is wrapped.- Changed in version 2.0: - errstateis now fully thread and asyncio safe, but may not be entered more than once. It is not safe to decorate async functions using- errstate.- Parameters:
- kwargs{divide, over, under, invalid}
- Keyword arguments. The valid keywords are the possible floating-point exceptions. Each keyword should have a string value that defines the treatment for the particular error. Possible values are {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’}. 
 
 - See also - Notes - For complete documentation of the types of floating-point exceptions and treatment options, see - seterr.- Examples - >>> import numpy as np >>> olderr = np.seterr(all='ignore') # Set error handling to known state. - >>> np.arange(3) / 0. array([nan, inf, inf]) >>> with np.errstate(divide='ignore'): ... np.arange(3) / 0. array([nan, inf, inf]) - >>> np.sqrt(-1) np.float64(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: - >>> np.geterr() {'divide': 'ignore', 'over': 'ignore', 'under': 'ignore', 'invalid': 'ignore'} >>> olderr = np.seterr(**olderr) # restore original state - Methods - __call__(func)- Call self as a function.