diff --git a/src/PSUSensorMain.cpp b/src/PSUSensorMain.cpp
index e979189..7576e68 100644
--- a/src/PSUSensorMain.cpp
+++ b/src/PSUSensorMain.cpp
@@ -326,7 +326,7 @@
             bus = std::stoi(busStr);
             addr = std::stoi(addrStr, nullptr, 16);
         }
-        catch (std::invalid_argument&)
+        catch (const std::invalid_argument&)
         {
             std::cerr << "Error parsing bus " << busStr << " addr " << addrStr
                       << "\n";
@@ -642,7 +642,7 @@
                     psuProperty->labelTypeName = std::visit(
                         VariantToStringVisitor(), findCustomName->second);
                 }
-                catch (std::invalid_argument&)
+                catch (const std::invalid_argument&)
                 {
                     std::cerr << "Unable to parse " << keyName << "\n";
                     continue;
@@ -661,7 +661,7 @@
                     psuProperty->sensorScaleFactor = std::visit(
                         VariantToUnsignedIntVisitor(), findCustomScale->second);
                 }
-                catch (std::invalid_argument&)
+                catch (const std::invalid_argument&)
                 {
                     std::cerr << "Unable to parse " << keyScale << "\n";
                     continue;
@@ -687,7 +687,7 @@
                     psuProperty->minReading = std::visit(
                         VariantToDoubleVisitor(), findCustomMin->second);
                 }
-                catch (std::invalid_argument&)
+                catch (const std::invalid_argument&)
                 {
                     std::cerr << "Unable to parse " << keyMin << "\n";
                     continue;
@@ -702,7 +702,7 @@
                     psuProperty->maxReading = std::visit(
                         VariantToDoubleVisitor(), findCustomMax->second);
                 }
-                catch (std::invalid_argument&)
+                catch (const std::invalid_argument&)
                 {
                     std::cerr << "Unable to parse " << keyMax << "\n";
                     continue;
@@ -717,7 +717,7 @@
                     psuProperty->sensorOffset = std::visit(
                         VariantToDoubleVisitor(), findCustomOffset->second);
                 }
-                catch (std::invalid_argument&)
+                catch (const std::invalid_argument&)
                 {
                     std::cerr << "Unable to parse " << keyOffset << "\n";
                     continue;
