上一主题

numpy.geterr

下一主题

numpy.errstate

numpy.geterrcall

numpy.geterrcall()[source]

返回当前用于浮点错误的回调函数。

当浮点错误(“divide”,“over”,“under”或“invalid”之一)的错误处理设置为“call”或“log”时,调用的函数或日志实例由geterrcall返回。此函数或日志实例已使用seterrcall设置。

返回:

errobj:可调用,日志实例或无

当前错误处理程序。如果没有通过seterrcall设置处理程序,则返回None

也可以看看

seterrcallseterrgeterr

笔记

有关浮点异常和处理选项类型的完整文档,请参见seterr

例子

>>> np.geterrcall()  # we did not yet set a handler, returns None
>>> oldsettings = np.seterr(all='call')
>>> def err_handler(type, flag):
...     print("Floating point error (%s), with flag %s" % (type, flag))
>>> oldhandler = np.seterrcall(err_handler)
>>> np.array([1, 2, 3]) / 0.0
Floating point error (divide by zero), with flag 1
array([ Inf,  Inf,  Inf])
>>> cur_handler = np.geterrcall()
>>> cur_handler is err_handler
True