seterr#
- scipy.special.seterr(**kwargs)#
Установите, как обрабатываются ошибки специальных функций.
- Параметры:
- все{‘ignore’, ‘warn’ ‘raise’}, опционально
Установка обработки для всех типов ошибок специальных функций одновременно. Варианты:
‘ignore’ Не предпринимать действий при возникновении ошибки
‘warn’ Вывести
SpecialFunctionWarningкогда ошибка возникает (через Pythonwarningsмодуль)‘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)