Handle sdbusplus exception in BIOS utility API
sdbusplus new_method_call() API can throw exception. This commit adds
exception handling to biosGetAttributeMethodCall utility API which uses
the sdbusplus new_method_call() API.
Change-Id: I95dbdf5a5e86c73c06242ec6a019ee2d045627b0
Signed-off-by: Souvik Roy <souvikroyofficial10@gmail.com>
diff --git a/vpd-manager/include/utility/dbus_utility.hpp b/vpd-manager/include/utility/dbus_utility.hpp
index 39a4bf3..e2bf6c1 100644
--- a/vpd-manager/include/utility/dbus_utility.hpp
+++ b/vpd-manager/include/utility/dbus_utility.hpp
@@ -340,17 +340,17 @@
* attribute value.
*/
inline types::BiosAttributeCurrentValue biosGetAttributeMethodCall(
- const std::string& i_attributeName)
+ const std::string& i_attributeName) noexcept
{
- auto l_bus = sdbusplus::bus::new_default();
- auto l_method = l_bus.new_method_call(
- constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
- constants::biosConfigMgrInterface, "GetAttribute");
- l_method.append(i_attributeName);
-
types::BiosGetAttrRetType l_attributeVal;
try
{
+ auto l_bus = sdbusplus::bus::new_default();
+ auto l_method = l_bus.new_method_call(
+ constants::biosConfigMgrService, constants::biosConfigMgrObjPath,
+ constants::biosConfigMgrInterface, "GetAttribute");
+ l_method.append(i_attributeName);
+
auto l_result = l_bus.call(l_method);
l_result.read(std::get<0>(l_attributeVal), std::get<1>(l_attributeVal),
std::get<2>(l_attributeVal));