diff --git a/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp b/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp
index 8936fab6fe953bc3b7fee870a97ffee598234ea7..1bcfacd51ebaa8e78af5d7c13e963a5203135dc0 100644
--- a/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp
+++ b/source/RobotAPI/libraries/armem/core/error/ArMemError.cpp
@@ -161,6 +161,17 @@ namespace armarx::armem::error
         return ss.str();
     }
 
+    QueryFailed::QueryFailed(const std::string& memory, const std::string& message) :
+        ArMemError(makeMsg(memory, message))
+    {
+    }
+
+    std::string QueryFailed::makeMsg(const std::string& memory, const std::string& message)
+    {
+        std::stringstream ss;
+        ss << "Query from memory " << memory << " failed with message: " << message;
+        return ss.str();
+    }
 
     PathNotARegularFile::PathNotARegularFile(const std::string& path, const std::string& message) :
         ArMemError(makeMsg(path, message))
diff --git a/source/RobotAPI/libraries/armem/core/error/ArMemError.h b/source/RobotAPI/libraries/armem/core/error/ArMemError.h
index e6843d13be5bc07e71d90b00cf6a911ca717e524..c5d1a4b513d73ff0324017b1a0db9072737e19ca 100644
--- a/source/RobotAPI/libraries/armem/core/error/ArMemError.h
+++ b/source/RobotAPI/libraries/armem/core/error/ArMemError.h
@@ -173,6 +173,19 @@ namespace armarx::armem::error
 
     };
 
+    /**
+     * @brief Indicates that a query resulted in an Error.
+     */
+    class QueryFailed : public ArMemError
+    {
+    public:
+
+        QueryFailed(const std::string& memory, const std::string& message = "");
+
+        static std::string makeMsg(const std::string& memory, const std::string& message = "");
+
+    };
+
     /**
      * @brief Indicates that a path does not point to a directory.
      */