numpy.geterrobj
-
numpy.geterrobj() -
Возвращает текущий объект, определяющий обработку ошибок с плавающей запятой.
Объект ошибки содержит всю информацию, определяющую поведение обработки ошибок в NumPy.
geterrobjиспользуется внутри другими функциями, которые получают и устанавливают поведение обработки ошибок (geterr,seterr,geterrcall,seterrcall).- Returns
-
-
errobjlist -
Объект ошибки, список, содержащий три элемента: [внутренний размер буфера NumPy, маска ошибок, функция обратного вызова ошибок].
Маска ошибок — целое число, содержащее информацию об обработке всех четырёх ошибок с плавающей запятой. Информация для каждого типа ошибки содержится в трёх битах целого числа. Если мы напечатаем его в восьмеричной системе счисления, мы увидим, какая обработка установлена для «недействительной», «недостаточной», «избыточной» и «деления на ноль» (в указанном порядке). Напечатанную строку можно интерпретировать следующим образом:
- 0 : ‘игнорировать’
- 1 : ‘предупреждение’
- 2 : ‘вызвать исключение’
- 3 : ‘вызвать функцию обратного вызова’
- 4 : ‘вывести сообщение на консоль’
- 5 : ‘записать в лог’
-
См. также
-
seterrobj, seterr, geterr, seterrcall,geterrcall -
getbufsize,setbufsize
Примечания
Для получения полной документации по типам исключений с плавающей запятой и вариантам обработки см.
seterr.Примеры
>>> np.geterrobj() # first get the defaults [8192, 521, 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() [8192, 521, <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'
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.geterrobj.html