numpy.geterrobj¶
-
numpy.
geterrobj
()¶ 返回定义浮点错误处理的当前对象。
错误对象包含定义Numpy中的错误处理行为的所有信息。
geterrobj
在其他函数内部使用get和set错误处理行为(geterr
,seterr
,geterrcall
seterrcall
)。返回: errobj:list
error对象,一个包含三个元素的列表:[内部numpy缓冲区大小,错误掩码,错误回调函数]。
错误掩码是一个单个整数,它保存有关所有四个浮点错误的处理信息。每个错误类型的信息包含在整数的三个位中。如果我们在base 8中打印,我们可以看到对“invalid”,“under”,“over”和“divide”(按顺序)设置了什么处理。打印的字符串可以用解释
- 0:'ignore'
- 1:'warn'
- 2:'raise'
- 3:'call'
- 4:'print'
- 5:'log'
也可以看看
seterrobj
,seterr
,geterr
,seterrcall
,geterrcall
,getbufsize
,setbufsize
笔记
有关浮点异常和处理选项类型的完整文档,请参见
seterr
。例子
>>> np.geterrobj() # first get the defaults [10000, 0, None]
>>> def err_handler(type, flag): ... print("Floating point error (%s), with flag %s" % (type, flag)) ... >>> old_bufsize = np.setbufsize(20000) >>> old_err = np.seterr(divide='raise') >>> old_handler = np.seterrcall(err_handler) >>> np.geterrobj() [20000, 2, <function err_handler at 0x91dcaac>]
>>> old_err = np.seterr(all='ignore') >>> np.base_repr(np.geterrobj()[1], 8) '0' >>> old_err = np.seterr(divide='warn', over='log', under='call', invalid='print') >>> np.base_repr(np.geterrobj()[1], 8) '4351'