Python Glossary English

все Python 3Исключенияисключение

struct.error

модульные исключения

Ошибка упаковки/распаковки struct (несоответствие формата и данных).

Синтаксис

raise struct.error

Две основные причины: при unpack длина буфера не совпадает со struct.calcsize(формат) — для чтения только начала есть unpack_from — либо значение не влезает в код формата, как 300 в 'B'. Учтите и то, что по умолчанию размеры считаются нативными, с выравниванием; предсказуемую раскладку дают префиксы '<', '>' или '='. Наследуется напрямую от Exception, а не от ValueError, поэтому привычный except ValueError его пропустит.

Примеры

import struct
try:
    raise struct.error
except struct.error as e:
    print(type(e).__name__)   # → error

См. также

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