scipy.special.seterr#
- scipy.special.seterr()#
 Set how special-function errors are handled.
- Parameters:
 - all{‘ignore’, ‘warn’ ‘raise’}, optional
 Set treatment for all type of special-function errors at once. The options are:
‘ignore’ Take no action when the error occurs
‘warn’ Print a
SpecialFunctionWarningwhen the error occurs (via the Pythonwarningsmodule)‘raise’ Raise a
SpecialFunctionErrorwhen the error occurs.
The default is to not change the current behavior. If behaviors for additional categories of special-function errors are specified, then
allis applied first, followed by the additional categories.- singular{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for singularities.
- underflow{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for underflow.
- overflow{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for overflow.
- slow{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for slow convergence.
- loss{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for loss of accuracy.
- no_result{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for failing to find a result.
- domain{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for an invalid argument to a function.
- arg{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for an invalid parameter to a function.
- other{‘ignore’, ‘warn’, ‘raise’}, optional
 Treatment for an unknown error.
- Returns:
 - olderrdict
 Dictionary containing the old settings.
See also
geterrget the current way of handling special-function errors
errstatecontext manager for special-function error handling
numpy.seterrsimilar numpy function for floating-point errors
Examples
>>> import scipy.special as sc >>> from pytest import raises >>> sc.gammaln(0) inf >>> olderr = sc.seterr(singular='raise') >>> with raises(sc.SpecialFunctionError): ... sc.gammaln(0) ... >>> _ = sc.seterr(**olderr)
We can also raise for every category except one.
>>> olderr = sc.seterr(all='raise', singular='ignore') >>> sc.gammaln(0) inf >>> with raises(sc.SpecialFunctionError): ... sc.spence(-1) ... >>> _ = sc.seterr(**olderr)