]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/cmdparse: add bad_cmd_get exception
authorSage Weil <sage@redhat.com>
Thu, 2 Aug 2018 19:33:50 +0000 (14:33 -0500)
committerNathan Cutler <ncutler@suse.com>
Tue, 2 Oct 2018 18:32:52 +0000 (20:32 +0200)
Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit fecb9021c1ae057c2c15832dd28a97202c6b5d22)

src/common/cmdparse.h

index 41495f5551a283c3628c86b608fdf3e13216931c..10124f6dd71c2bf1a5b43fe2f06310d8c8d9edb1 100644 (file)
@@ -46,6 +46,16 @@ void handle_bad_get(CephContext *cct, const std::string& k, const char *name);
 
 std::string cmd_vartype_stringify(const cmd_vartype& v);
 
+struct bad_cmd_get : public std::exception {
+  std::string desc;
+  bad_cmd_get(const std::string& f, const cmdmap_t& cmdmap) {
+    desc = "bad or missing field '" + f + "'";
+  }
+  const char *what() const throw() override {
+    return desc.c_str();
+  }
+};
+
 template <typename T>
 bool
 cmd_getval(CephContext *cct, const cmdmap_t& cmdmap, const std::string& k, T& val)