diff --git a/cfg_checker/common/exception.py b/cfg_checker/common/exception.py
new file mode 100644
index 0000000..bc7cefe
--- /dev/null
+++ b/cfg_checker/common/exception.py
@@ -0,0 +1,21 @@
+from exceptions import Exception
+
+
+class CheckerBaseExceptions(Exception):
+    pass
+
+
+class CheckerException(CheckerBaseExceptions):
+    def __init__(self, message, *args, **kwargs):
+        super(CheckerException, self).__init__(message, *args, **kwargs)
+        # get the trace
+        # TODO: get and log traceback
+
+        # prettify message
+        self.message = "CheckerException: {}".format(message)
+
+
+class ConfigException(CheckerException):
+    def __init__(self, message, *args, **kwargs):
+        super(ConfigException, self).__init__(message, *args, **kwargs)
+        self.message = "Configuration error: {}".format(message)
