Что означает код errno 42 (EILSEQ)?

 
Также может означать:
КонстантаТипОС
KERN_SEMAPHORE_DESTROYEDКод возврата ядра macOSmacOS
ippStsI18nGetMessageFailСтатус Intel IPPЛюбая
ENOMSGerrnoLinux
ENOPROTOOPTerrnomacOS
EUNATCHerrnoSolaris
INCONSISTENT_IRPКод BSODWindows
Предыдущий Следующий
EUNATCH EIDRM

EILSEQ

Что означает EILSEQ в Windows UCRT

EILSEQ означает «Недопустимая последовательность байтов». Для условия «Недопустимая последовательность байтов» код EILSEQ нужно связывать с первым возвратившим его вызовом и контекстом: входные значения, тип данных, диапазон, кодировку или числовой результат.

Для условия «Недопустимая последовательность байтов» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для EILSEQ исходная английская страница также выделяет mbsrtowcs, mbrlen, errno, mbstate_t и UCRT; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

  • При ошибке «Недопустимая последовательность байтов» (Windows UCRT, EILSEQ) сохраните значения до преобразования типа и проверьте NaN, бесконечности, отрицательные границы и overflow.
  • При ошибке «Недопустимая последовательность байтов» (Windows UCRT, EILSEQ) установите, документирует ли конкретная функция errno и при каком return value его следует читать.
  • При ошибке «Недопустимая последовательность байтов» (Windows UCRT, EILSEQ) для ошибок символов проверьте locale, encoding и границы многобайтовой последовательности.
  • При ошибке «Недопустимая последовательность байтов» (Windows UCRT, EILSEQ) добавьте тесты на обеих границах диапазона и подтвердите правильность результата, а не только исчезновение кода.

На платформе Windows UCRT исправление EILSEQ считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Недопустимая последовательность байтов» без утечки ресурсов и потери первичной диагностики.

Ссылки для EILSEQ


Нужно найти другой код? Найти другой код состояния или ошибки.