numpy.geterrcall#

numpy.geterrcall()[原始碼]#

返回目前用於浮點錯誤的回呼函數。

當浮點錯誤(“divide”、“over”、“under”或“invalid”之一)的錯誤處理設定為 'call' 或 'log' 時,被呼叫的函數或寫入的日誌實例會由 geterrcall 返回。此函數或日誌實例已使用 seterrcall 設定。

返回值:
errobj可呼叫物件、日誌實例或 None

目前的錯誤處理器。如果沒有通過 seterrcall 設定處理器,則返回 None

另請參閱

seterrcall, seterr, geterr

註解

有關浮點例外類型和處理選項的完整文件,請參閱 seterr

範例

>>> import numpy as np
>>> np.geterrcall()  # we did not yet set a handler, returns None
>>> orig_settings = np.seterr(all='call')
>>> def err_handler(type, flag):
...     print("Floating point error (%s), with flag %s" % (type, flag))
>>> old_handler = 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
>>> old_settings = np.seterr(**orig_settings)  # restore original
>>> old_handler = np.seterrcall(None)  # restore original