diff --git a/test/TestUtils.cpp b/test/TestUtils.cpp
index fc345f2..16ccd9c 100644
--- a/test/TestUtils.cpp
+++ b/test/TestUtils.cpp
@@ -1,6 +1,7 @@
 #include "utils.hpp"
 
 #include <gtest/gtest.h>
+#include <xyz/openbmc_project/Common/error.hpp>
 
 namespace phosphor
 {
@@ -9,16 +10,18 @@
 namespace utils
 {
 
+using InvalidArgument =
+    sdbusplus::xyz::openbmc_project::Common::Error::InvalidArgument;
+
 TEST(TestUtil, strToMode)
 {
     EXPECT_EQ(Mode::NTP, strToMode("NTP"));
     EXPECT_EQ(Mode::MANUAL, strToMode("MANUAL"));
 
-    // All unrecognized strings result in assertion
-    // TODO: use EXPECT_THROW once the code uses elog
-    EXPECT_DEATH(strToMode(""), "");
-    EXPECT_DEATH(strToMode("Manual"), "");
-    EXPECT_DEATH(strToMode("whatever"), "");
+    // All unrecognized strings result in InvalidArgument exception
+    EXPECT_THROW(strToMode(""), InvalidArgument);
+    EXPECT_THROW(strToMode("Manual"), InvalidArgument);
+    EXPECT_THROW(strToMode("whatever"), InvalidArgument);
 }
 
 
@@ -29,11 +32,10 @@
     EXPECT_EQ(Owner::SPLIT, strToOwner("SPLIT"));
     EXPECT_EQ(Owner::BOTH, strToOwner("BOTH"));
 
-    // All unrecognized strings result in assertion
-    // TODO: use EXPECT_THROW once the code uses elog
-    EXPECT_DEATH(strToOwner(""), "");
-    EXPECT_DEATH(strToOwner("Split"), "");
-    EXPECT_DEATH(strToOwner("xyz"), "");
+    // All unrecognized strings result in InvalidArgument exception
+    EXPECT_THROW(strToOwner(""), InvalidArgument);
+    EXPECT_THROW(strToOwner("Split"), InvalidArgument);
+    EXPECT_THROW(strToOwner("xyz"), InvalidArgument);
 }
 
 TEST(TestUtil, modeToStr)
@@ -41,9 +43,8 @@
     EXPECT_EQ("NTP", modeToStr(Mode::NTP));
     EXPECT_EQ("MANUAL", modeToStr(Mode::MANUAL));
 
-    // All unrecognized enums result in assertion
-    // TODO: use EXPECT_THROW once the code uses elog
-    EXPECT_DEATH(modeToStr(static_cast<Mode>(100)), "");
+    // All unrecognized strings result in InvalidArgument exception
+    EXPECT_THROW(modeToStr(static_cast<Mode>(100)), InvalidArgument);
 }
 
 TEST(TestUtil, ownerToStr)
@@ -53,9 +54,8 @@
     EXPECT_EQ("SPLIT", ownerToStr(Owner::SPLIT));
     EXPECT_EQ("BOTH", ownerToStr(Owner::BOTH));
 
-    // All unrecognized enums result in assertion
-    // TODO: use EXPECT_THROW once the code uses elog
-    EXPECT_DEATH(ownerToStr(static_cast<Owner>(100)), "");
+    // All unrecognized strings result in InvalidArgument exception
+    EXPECT_THROW(ownerToStr(static_cast<Owner>(100)), InvalidArgument);
 }
 
 } // namespace utils
