'struct.error: required argument is not an integer'
is quite useless itself, so let's raise an error from it at least
saying what was the thing getting packed
Type: improvement
Change-Id: Icb762fbab98446d1e1331315e6c337f789cbba95
Signed-off-by: Klement Sekera <[email protected]>
else:
arg = data[a]
kwarg = kwargs[a] if a in kwargs else None
- if isinstance(self.packers[i], VPPType):
- b += self.packers[i].pack(arg, kwarg)
- else:
- b += self.packers[i].pack(arg, kwargs)
+ try:
+ if isinstance(self.packers[i], VPPType):
+ b += self.packers[i].pack(arg, kwarg)
+ else:
+ b += self.packers[i].pack(arg, kwargs)
+ except Exception as e:
+ raise VPPSerializerValueError(
+ f"Exception while packing {data} for {self.name}.{a}."
+ ) from e
return bytes(b)