class_docstr: errstate(**kwargs)
  
  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.
  
  ..  versionchanged:: 1.17.0
      `errstate` is also usable as a function decorator, saving
      a level of indentation if an entire function is wrapped.
      See :py:class:`contextlib.ContextDecorator` for more information.
  
  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
  --------
  seterr, geterr, seterrcall, geterrcall
  
  Notes
  -----
  For complete documentation of the types of floating-point exceptions and
  treatment options, see `seterr`.
  
  Examples
  --------
  >>> 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:
  
  >>> np.geterr()
  {'divide': 'ignore', 'over': 'ignore', 'under': 'ignore', 'invalid': 'ignore'}
class_docstr_tok: ["errstate","(","*","*","kwargs",")","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",".","..","versionchanged",":",":","1.17.0","`","errstate","`","is","also","usable","as","a","function","decorator",",","saving","a","level","of","indentation","if","an","entire","function","is","wrapped",".","See",":","py",":","class",":","`","contextlib.ContextDecorator","`","for","more","information",".","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","--","--","--","--","seterr",",","geterr",",","seterrcall",",","geterrcall","Notes","--","--","-","For","complete","documentation","of","the","types","of","floating-point","exceptions","and","treatment","options",",","see","`","seterr","`",".","Examples","--","--","--","--",">",">",">","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",":",">",">",">","np.geterr","(",")","{","'divide","'",":","'ignore","'",",","'over","'",":","'ignore","'",",","'under","'",":","'ignore","'",",","'invalid","'",":","'ignore","'","}"]
code: def __exit__(self, *exc_info):
      seterr(**self.oldstate)
      if self.call is not _Unspecified:
          seterrcall(self.oldcall)
  
file_path: catboost/contrib/python/numpy/py3/numpy/core/_ufunc_config.py
imports: import collections.abc
  import contextlib
  import contextvars
  from .._utils import set_module
  from .umath import UFUNC_BUFSIZE_DEFAULT, ERR_IGNORE, ERR_WARN, ERR_RAISE, ERR_CALL, ERR_PRINT, ERR_LOG, ERR_DEFAULT, SHIFT_DIVIDEBYZERO, SHIFT_OVERFLOW, SHIFT_UNDERFLOW, SHIFT_INVALID
  from .None import umath
label_desc: Use image node_id 3 for calling the errstate obj's underlying member method code with example usage: obj.__exit__() without return types