numpy.seterrobj
-
numpy.seterrobj(errobj) -
Установить объект, определяющий обработку ошибок с плавающей запятой.
Объект ошибки содержит всю информацию, определяющую поведение обработки ошибок в NumPy.
seterrobjиспользуется внутри другими функциями, устанавливающими поведение обработки ошибок (seterr,seterrcall).- Параметры
-
-
errobjlist -
Объект ошибки, список, содержащий три элемента: [внутренний размер буфера 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 [8192, 521, 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
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.seterrobj.html