diff --git a/analyzer/analyzer_main.cpp b/analyzer/analyzer_main.cpp
index 19429f4..1db3efe 100644
--- a/analyzer/analyzer_main.cpp
+++ b/analyzer/analyzer_main.cpp
@@ -128,7 +128,17 @@
     // Filter for root cause attention.
     libhei::Signature rootCause{};
     RasDataParser rasData{};
-    bool attnFound = filterRootCause(i_type, isoData, rootCause, rasData);
+    bool attnFound = false;
+    try
+    {
+        attnFound = filterRootCause(i_type, isoData, rootCause, rasData);
+    }
+    catch (const std::exception& e)
+    {
+        trace::err("Exception caught during root cause filtering");
+        trace::err(e.what());
+        attnFound = false; // just in case
+    }
 
     // If a root cause attention was found, or if this was a system checkstop,
     // generate a PEL.
diff --git a/analyzer/ras-data/ras-data-parser.cpp b/analyzer/ras-data/ras-data-parser.cpp
index c631cad..8b7e482 100644
--- a/analyzer/ras-data/ras-data-parser.cpp
+++ b/analyzer/ras-data/ras-data-parser.cpp
@@ -146,7 +146,7 @@
             o_isFlagSet = true;
         }
     }
-    catch (const std::out_of_range& e)
+    catch (const nlohmann::json::out_of_range& e)
     {
         // Do nothing. Assume there is no flag defined. If for some reason
         // the `id` or `bit` were not defined, that will be cause below when the
@@ -162,7 +162,7 @@
         {
             __checkActionForFlag(action, strFlag, data);
         }
-        catch (const std::out_of_range& e)
+        catch (const nlohmann::json::out_of_range& e)
         {
             // Again, do nothing. Assume there is no flag defined. If for some
             // reason the action is not defined, that will be handled later when
@@ -310,7 +310,7 @@
         action =
             i_data.at("signatures").at(id).at(bit).at(inst).get<std::string>();
     }
-    catch (const std::out_of_range& e)
+    catch (const nlohmann::json::out_of_range& e)
     {
         trace::err("No action defined for signature: %s %s %s", id.c_str(),
                    bit.c_str(), inst.c_str());
