diff --git a/include/threshold_alarm_event_monitor.hpp b/include/threshold_alarm_event_monitor.hpp
index 9b942f2..21cd29d 100644
--- a/include/threshold_alarm_event_monitor.hpp
+++ b/include/threshold_alarm_event_monitor.hpp
@@ -52,7 +52,7 @@
     {
         msg.read(assertValue);
     }
-    catch (sdbusplus::exception_t&)
+    catch (const sdbusplus::exception_t&)
     {
         std::cerr << "error getting assert signal data from " << msg.get_path()
                   << "\n";
@@ -164,7 +164,7 @@
             conn->call(getSensorValue);
         getSensorValueResp.read(sensorValue);
     }
-    catch (sdbusplus::exception_t&)
+    catch (const sdbusplus::exception_t&)
     {
         std::cerr << "error getting sensor value from " << msg.get_path()
                   << "\n";
@@ -204,7 +204,7 @@
         sdbusplus::message::message getThresholdResp = conn->call(getThreshold);
         getThresholdResp.read(thresholdValue);
     }
-    catch (sdbusplus::exception_t&)
+    catch (const sdbusplus::exception_t&)
     {
         std::cerr << "error getting sensor threshold from " << msg.get_path()
                   << "\n";
diff --git a/include/threshold_event_monitor.hpp b/include/threshold_event_monitor.hpp
index f1df9bd..cd5397a 100644
--- a/include/threshold_event_monitor.hpp
+++ b/include/threshold_event_monitor.hpp
@@ -57,7 +57,7 @@
             msg.read(sensorName, thresholdInterface, event, assert,
                      assertValue);
         }
-        catch (sdbusplus::exception_t&)
+        catch (const sdbusplus::exception_t&)
         {
             std::cerr << "error getting assert signal data from "
                       << msg.get_path() << "\n";
@@ -126,7 +126,7 @@
                 conn->call(getSensorValue);
             getSensorValueResp.read(sensorValue);
         }
-        catch (sdbusplus::exception_t&)
+        catch (const sdbusplus::exception_t&)
         {
             std::cerr << "error getting sensor value from " << msg.get_path()
                       << "\n";
@@ -175,7 +175,7 @@
                 conn->call(getThreshold);
             getThresholdResp.read(thresholdValue);
         }
-        catch (sdbusplus::exception_t&)
+        catch (const sdbusplus::exception_t&)
         {
             std::cerr << "error getting sensor threshold from "
                       << msg.get_path() << "\n";
diff --git a/include/watchdog_event_monitor.hpp b/include/watchdog_event_monitor.hpp
index 7dd9673..84b8cb7 100644
--- a/include/watchdog_event_monitor.hpp
+++ b/include/watchdog_event_monitor.hpp
@@ -75,7 +75,7 @@
             conn->call(getWatchdogStatus);
         getWatchdogStatusResp.read(watchdogStatus);
     }
-    catch (sdbusplus::exception_t&)
+    catch (const sdbusplus::exception_t&)
     {
         std::cerr << "error getting watchdog status from " << msg.get_path()
                   << "\n";
