scipy.special.

errstate#

класс scipy.special.errstate(**kwargs)#

Контекстный менеджер для обработки ошибок специальных функций.

Используя экземпляр errstate как контекстный менеджер позволяет операторам в этом контексте выполняться с известным поведением обработки ошибок. При входе в контекст обработка ошибок устанавливается с помощью seterr, и при выходе она восстанавливается к предыдущему состоянию.

Параметры:
kwargs{all, singular, underflow, overflow, slow, loss, no_result, domain, arg, other}

Аргументы ключевых слов. Допустимые ключевые слова — возможные ошибки специальных функций. Каждое ключевое слово должно иметь строковое значение, определяющее обработку для конкретного типа ошибки. Значения должны быть 'ignore', 'warn' или 'other'. См. seterr подробности.

Смотрите также

geterr

получить текущий способ обработки ошибок специальных функций

seterr

установить, как обрабатываются ошибки специальных функций

numpy.errstate

аналогичная функция numpy для ошибок с плавающей точкой

Примеры

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

Мы также можем вызывать исключение для каждой категории, кроме одной.

>>> with sc.errstate(all='raise', singular='ignore'):
...     sc.gammaln(0)
...     with raises(sc.SpecialFunctionError):
...         sc.spence(-1)
...
inf