diff --git a/tools/example/net/poettering/Calculator.errors.yaml b/tools/example/net/poettering/Calculator.errors.yaml
new file mode 100644
index 0000000..730e2a3
--- /dev/null
+++ b/tools/example/net/poettering/Calculator.errors.yaml
@@ -0,0 +1,3 @@
+- name: DivisionByZero
+  description: >
+    An attempt to divide by zero was attempted.
diff --git a/tools/sdbus++ b/tools/sdbus++
index 2e4e330..db96b1f 100755
--- a/tools/sdbus++
+++ b/tools/sdbus++
@@ -9,10 +9,12 @@
 def main():
     module_path = os.path.dirname(sdbusplus.__file__)
 
-    valid_types = {'interface': sdbusplus.Interface}
+    valid_types = {'interface': sdbusplus.Interface,
+                   'error': sdbusplus.Error}
     valid_processes = {'markdown': "markdown",
                        'server-header': "server_header",
-                       'server-cpp': "server_cpp"}
+                       'server-cpp': "server_cpp",
+                       'exception-header': "exception_header"}
 
     parser = argparse.ArgumentParser(description='Process sdbus++ YAML files.')
 
diff --git a/tools/sdbusplus/__init__.py b/tools/sdbusplus/__init__.py
index 2ab249b..4703f22 100644
--- a/tools/sdbusplus/__init__.py
+++ b/tools/sdbusplus/__init__.py
@@ -1 +1,2 @@
 from sdbusplus.interface import Interface
+from sdbusplus.error import Error
diff --git a/tools/sdbusplus/error.py b/tools/sdbusplus/error.py
new file mode 100644
index 0000000..ff3926c
--- /dev/null
+++ b/tools/sdbusplus/error.py
@@ -0,0 +1,27 @@
+import os
+import yaml
+from .namedelement import NamedElement
+from .renderer import Renderer
+
+
+class Error(NamedElement, Renderer):
+    @staticmethod
+    def load(name, rootdir='.'):
+        filename = os.path.join(rootdir,
+                                name.replace('.', '/') + ".errors.yaml")
+
+        with open(filename) as f:
+            data = f.read()
+            y = yaml.safe_load(data)
+            y = {'name': name,
+                 'errors': y}
+            return Error(**y)
+
+    def __init__(self, **kwargs):
+        self.errors = \
+            [NamedElement(**n) for n in kwargs.pop('errors', [])]
+
+        super(Error, self).__init__(**kwargs)
+
+    def exception_header(self, loader):
+        return ""
