seterr — SciPy v1.15.3 Manual (original) (raw)

scipy.special.

scipy.special.seterr(**kwargs)#

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:

The default is to not change the current behavior. If behaviors for additional categories of special-function errors are specified, then all is 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

geterr

get the current way of handling special-function errors

errstate

context manager for special-function error handling

numpy.seterr

similar 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)