summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vpp-api/python/vpp_papi/vpp_serializer.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/vpp-api/python/vpp_papi/vpp_serializer.py b/src/vpp-api/python/vpp_papi/vpp_serializer.py
index d724cb33ce9..707bb03b790 100644
--- a/src/vpp-api/python/vpp_papi/vpp_serializer.py
+++ b/src/vpp-api/python/vpp_papi/vpp_serializer.py
@@ -644,10 +644,15 @@ class VPPType(Packer):
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)