numpy.seterrobj
-
numpy.seterrobj(errobj) -
Установите объект, определяющий обработку ошибок с плавающей запятой.
Объект ошибки содержит всю информацию, определяющую поведение обработки ошибок в Numpy.
seterrobjиспользуется внутри другими функциями, которые устанавливают поведение обработки ошибок (seterr,seterrcall).Параметры: errobj : список
Объект ошибки, список, содержащий три элемента: [внутренний размер буфера NumPy, маска ошибок, функция обратного вызова ошибок].
Маска ошибок — целое число, хранящее информацию об обработке всех четырёх ошибок с плавающей запятой. Информация для каждого типа ошибок содержится в трёх битах целого числа. Если мы выведем его в восьмеричной системе счисления, мы сможем увидеть, какая обработка установлена для «недействительных», «под», «над» и «деления» (в таком порядке). Выведенную строку можно интерпретировать с помощью
- 0 : ‘пропустить’
- 1 : ‘предупреждение’
- 2 : ‘вызвать исключение’
- 3 : ‘вызвать функцию обратного вызова’
- 4 : ‘вывести в консоль’
- 5 : ‘записать в журнал’
См. также
geterrobj,seterr,geterr,seterrcall,geterrcall,getbufsize,setbufsizeПримечания
Для получения полной документации по типам исключений с плавающей запятой и вариантам обработки см.
seterr.Примеры
>>> old_errobj = np.geterrobj() # first get the defaults >>> old_errobj [10000, 0, None]
>>> def err_handler(type, flag): ... print "Floating point error (%s), with flag %s" % (type, flag) ... >>> new_errobj = [20000, 12, err_handler] >>> np.seterrobj(new_errobj) >>> np.base_repr(12, 8) # int for divide=4 ('print') and over=1 ('warn') '14' >>> np.geterr() {'over': 'warn', 'divide': 'print', 'invalid': 'ignore', 'under': 'ignore'} >>> np.geterrcall() is err_handler True
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.seterrobj.html