tools: blob: implement open blob

Implement the host-side tool's open blob command.

Change-Id: Iee432eae0539015e87969159a3d03761df9f8fb5
Signed-off-by: Patrick Venture <venture@google.com>
diff --git a/tools/blob_errors.hpp b/tools/blob_errors.hpp
new file mode 100644
index 0000000..b737b7b
--- /dev/null
+++ b/tools/blob_errors.hpp
@@ -0,0 +1,18 @@
+#pragma once
+
+#include <exception>
+#include <string>
+
+class BlobException : public std::exception
+{
+  public:
+    explicit BlobException(const std::string& message) : message(message){};
+
+    virtual const char* what() const noexcept override
+    {
+        return message.c_str();
+    }
+
+  private:
+    std::string message;
+};