Python Glossary English

все Python 3tarfileисключение

tarfile.HeaderError

исключения

Исключение tarfile: заголовок члена архива (блок 512 байт) не удалось разобрать.

Синтаксис

except tarfile.HeaderError:

Напрямую его бросает TarInfo.frombuf(); снаружи, при открытии битого архива, вы увидите уже ReadError. Конкретный случай уточняют внутренние подклассы — пустой, обрезанный, неверный заголовок; они не документированы, поэтому ловят именно HeaderError, а не их. Внутри модуля у неё пять недокументированных подклассов — EOFHeaderError, EmptyHeaderError, InvalidHeaderError, SubsequentHeaderError, TruncatedHeaderError; ловить надо HeaderError.

Примеры

import tarfile
for raw in (b'x' * 100, b'x' * 512):
    try:
        tarfile.TarInfo.frombuf(raw, 'utf-8', 'surrogateescape')
    except tarfile.HeaderError as e:
        print(e)
# → truncated header / invalid header

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности