scipy.special.

seterr#

scipy.special.seterr(**kwargs)#

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

Параметры:
все{‘ignore’, ‘warn’ ‘raise’}, опционально

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

  • ‘ignore’ Не предпринимать действий при возникновении ошибки

  • ‘warn’ Вывести SpecialFunctionWarning когда ошибка возникает (через Python warnings модуль)

  • ‘raise’ Вызвать SpecialFunctionError когда возникает ошибка.

По умолчанию текущее поведение не изменяется. Если указаны поведения для дополнительных категорий ошибок специальных функций, то all применяется сначала, затем дополнительные категории.

сингулярный{'ignore', 'warn', 'raise'}, опционально

Обработка сингулярностей.

потеря значимости (underflow){'ignore', 'warn', 'raise'}, опционально

Обработка исчезновения порядка.

переполнение{'ignore', 'warn', 'raise'}, опционально

Обработка переполнения.

медленно{'ignore', 'warn', 'raise'}, опционально

Метод устранения медленной сходимости.

потеря{'ignore', 'warn', 'raise'}, опционально

Обработка потери точности.

no_result{'ignore', 'warn', 'raise'}, опционально

Обработка случая, когда результат не найден.

область определения{'ignore', 'warn', 'raise'}, опционально

Обработка недопустимого аргумента функции.

arg{'ignore', 'warn', 'raise'}, опционально

Обработка недопустимого параметра функции.

other{'ignore', 'warn', 'raise'}, опционально

Обработка неизвестной ошибки.

Возвращает:
olderrdict

Словарь, содержащий старые настройки.

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

geterr

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

errstate

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

numpy.seterr

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

Примеры

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

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

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