Squashed 'modules/libjuju/' content from commit c50c361

git-subtree-dir: modules/libjuju
git-subtree-split: c50c361a8b9a3bbf1a33f5659e492b481f065cd2
diff --git a/juju/errors.py b/juju/errors.py
new file mode 100644
index 0000000..de52174
--- /dev/null
+++ b/juju/errors.py
@@ -0,0 +1,16 @@
+class JujuError(Exception):
+    pass
+
+
+class JujuAPIError(JujuError):
+    def __init__(self, result):
+        self.result = result
+        self.message = result['error']
+        self.error_code = result.get('error-code')
+        self.response = result['response']
+        self.request_id = result['request-id']
+        super().__init__(self.message)
+
+
+class JujuConnectionError(ConnectionError, JujuError):
+    pass