diff --git a/fan_enclosure.cpp b/fan_enclosure.cpp
index b2ea9f7..998bd50 100644
--- a/fan_enclosure.cpp
+++ b/fan_enclosure.cpp
@@ -1,4 +1,5 @@
 #include <algorithm>
+#include <phosphor-logging/log.hpp>
 #include "fan_enclosure.hpp"
 
 
@@ -9,6 +10,8 @@
 namespace presence
 {
 
+using namespace phosphor::logging;
+
 //TODO Should get these from phosphor-objmgr config.h
 constexpr auto MAPPER_BUSNAME = "xyz.openbmc_project.ObjectMapper";
 constexpr auto MAPPER_PATH = "/xyz/openbmc_project/ObjectMapper";
@@ -50,7 +53,8 @@
     auto mapperResponseMsg = bus.call(mapperCall);
     if (mapperResponseMsg.is_method_error())
     {
-        //TODO Retry or throw exception/log error?
+        throw std::runtime_error(
+            "Error in mapper call to get inventory service name");
     }
 
     std::map<std::string, std::vector<std::string>> mapperResponse;
@@ -58,7 +62,8 @@
 
     if (mapperResponse.empty())
     {
-        //TODO Nothing found, throw exception/log error?
+        throw std::runtime_error(
+            "Error in mapper response for inventory service name");
     }
 
     return mapperResponse.begin()->first;
@@ -69,7 +74,16 @@
     //Get inventory object for this fan
     ObjectMap invObj = getObjectMap();
     //Get inventory manager service name from mapper
-    std::string invService = getInvService();
+    std::string invService;
+    try
+    {
+        invService = getInvService();
+    }
+    catch (const std::runtime_error& err)
+    {
+        log<level::ERR>(err.what());
+        return;
+    }
     // Update inventory for this fan
     auto invMsg = bus.new_method_call(invService.c_str(),
                                       INVENTORY_PATH,
@@ -79,7 +93,9 @@
     auto invMgrResponseMsg = bus.call(invMsg);
     if (invMgrResponseMsg.is_method_error())
     {
-        //TODO Handle error in notify call
+        log<level::ERR>(
+            "Error in inventory manager call to update inventory");
+        return;
     }
 }
 
