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