papi: more detailed packing error message

'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 <klement.sekera@gmail.com>
diff --git a/src/vpp-api/python/vpp_papi/vpp_serializer.py b/src/vpp-api/python/vpp_papi/vpp_serializer.py
index d724cb3..707bb03 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 @@
             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)