scipy.special.errstate#
- class scipy.special.errstate(**kwargs)#
Context manager for special-function 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 withseterr
, and upon exiting it is restored to what it was before.- Parameters:
- kwargs{all, singular, underflow, overflow, slow, loss, no_result, domain, arg, other}
Keyword arguments. The valid keywords are possible special-function errors. Each keyword should have a string value that defines the treatment for the particular type of error. Values must be ‘ignore’, ‘warn’, or ‘other’. See
seterr
for details.
See also
geterr
get the current way of handling special-function errors
seterr
set how special-function errors are handled
numpy.errstate
similar numpy function for floating-point errors
Examples
>>> import scipy.special as sc >>> from pytest import raises >>> sc.gammaln(0) inf >>> with sc.errstate(singular='raise'): ... with raises(sc.SpecialFunctionError): ... sc.gammaln(0) ... >>> sc.gammaln(0) inf
We can also raise on every category except one.
>>> with sc.errstate(all='raise', singular='ignore'): ... sc.gammaln(0) ... with raises(sc.SpecialFunctionError): ... sc.spence(-1) ... inf