все 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Сообщить о неточности