| Предыдущий | Следующий |
| ENOBUFS | EISCONN |
EOVERFLOW
Что означает EOVERFLOW в Windows UCRT
EOVERFLOW означает «Значение слишком велико для заданного типа данных». Для условия «Значение слишком велико для заданного типа данных» код EOVERFLOW нужно связывать с первым возвратившим его вызовом и контекстом: входные значения, тип данных, диапазон, кодировку или числовой результат.
Для условия «Значение слишком велико для заданного типа данных» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для EOVERFLOW исходная английская страница также выделяет long, _doserrno, errno и UCRT; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Значение слишком велико для заданного типа данных» (Windows UCRT,
EOVERFLOW) сохраните значения до преобразования типа и проверьте NaN, бесконечности, отрицательные границы и overflow. - При ошибке «Значение слишком велико для заданного типа данных» (Windows UCRT,
EOVERFLOW) установите, документирует ли конкретная функция errno и при каком return value его следует читать. - При ошибке «Значение слишком велико для заданного типа данных» (Windows UCRT,
EOVERFLOW) для ошибок символов проверьте locale, encoding и границы многобайтовой последовательности. - При ошибке «Значение слишком велико для заданного типа данных» (Windows UCRT,
EOVERFLOW) добавьте тесты на обеих границах диапазона и подтвердите правильность результата, а не только исчезновение кода.
На платформе Windows UCRT исправление EOVERFLOW считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Значение слишком велико для заданного типа данных» без утечки ресурсов и потери первичной диагностики.
Ссылки для EOVERFLOW
Нужно найти другой код? Найти другой код состояния или ошибки.
