| Предыдущий | Следующий |
| ELIBACC | EOVERFLOW |
EILSEQ
Что означает EILSEQ в Linux
EILSEQ означает «Недопустимая последовательность байтов». Для условия «Недопустимая последовательность байтов» код EILSEQ нужно связывать с первым возвратившим его вызовом и контекстом: входные значения, тип данных, диапазон, кодировку или числовой результат.
После отказа, соответствующего «Недопустимая последовательность байтов», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для EILSEQ исходная английская страница также выделяет iconv; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Недопустимая последовательность байтов» (Linux,
EILSEQ) сохраните значения до преобразования типа и проверьте NaN, бесконечности, отрицательные границы и overflow. - При ошибке «Недопустимая последовательность байтов» (Linux,
EILSEQ) установите, документирует ли конкретная функция errno и при каком return value его следует читать. - При ошибке «Недопустимая последовательность байтов» (Linux,
EILSEQ) для ошибок символов проверьте locale, encoding и границы многобайтовой последовательности. - При ошибке «Недопустимая последовательность байтов» (Linux,
EILSEQ) добавьте тесты на обеих границах диапазона и подтвердите правильность результата, а не только исчезновение кода.
На платформе Linux исправление EILSEQ считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Недопустимая последовательность байтов» без утечки ресурсов и потери первичной диагностики.
Ссылки для EILSEQ
Нужно найти другой код? Найти другой код состояния или ошибки.