scipy.special.
seterr#
- scipy.special.seterr(**kwargs)#
- 设置特殊函数错误的M处理方式。 - 参数:
- all{‘ignore’, ‘warn’ ‘raise’}, 可选
- 一次性设置所有类型特殊函数错误的处理方式。选项包括: - ‘ignore’ 错误发生时不做任何处理 
- ‘warn’ 错误发生时打印 - SpecialFunctionWarning(通过 Python- warnings模块)
- ‘raise’ 错误发生时抛出 - SpecialFunctionError。
 - 默认是不改变当前行为。如果指定了其他特殊函数错误类别的行为,则首先应用 - all,然后是其他类别。
- singular{‘ignore’, ‘warn’, ‘raise’}, 可选
- 奇点的处理方式。 
- underflow{‘ignore’, ‘warn’, ‘raise’}, 可选
- 下溢的处理方式。 
- overflow{‘ignore’, ‘warn’, ‘raise’}, 可选
- 上溢的处理方式。 
- slow{‘ignore’, ‘warn’, ‘raise’}, 可选
- 收敛缓慢的处理方式。 
- loss{‘ignore’, ‘warn’, ‘raise’}, 可选
- 精度损失的处理方式。 
- no_result{‘ignore’, ‘warn’, ‘raise’}, 可选
- 未找到结果的处理方式。 
- domain{‘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)